BT

新しい あなたは、アーリーアダプター?それともイノベーター?そんな皆様に、InfoQの新機能をご案内しています。詳細はこちら

C++とVS2015のエディット・アンド・コンティニュー機能を利用する

| 作者: Jeff Martin フォローする 5 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2015年8月24日. 推定読書時間: 2 分 |

原文(投稿日:2015/08/04)へのリンク

長く要求されていた,32ビットおよび64ビットのC++コードで動作するエディット・アンド・コンティニュー(EnC)機能が,Microsoftによって実装された。VS2015ではデフォルトで有効となっている。VS2013では32ビットコード用として,基本的な形式でサポートされていたが,有効にすると,最新の機能がすべて利用できなくなる状態だった。EnCによって,開発者は,デバッガで実行中のプログラムのコードを編集可能になる。プログラムの実行を再開すれば,再コンパイルをしなくてもその変更の結果を確認できる。

今回のVS2015では,診断ツールウィンドウや非同期コードをデバッグするための拡張コールスタックなど,他の機能へのアクセスを失うことなくEnCを使用できる。さらに改善点として,64ビットコードでもエディット・アンド・コンティニューが使用可能になった。これはVS2015の新機能だ。

心に留めておくべきことのひとつは,新たにインストールしたVS2015RTM上で作成した新規プロジェクトでは,既定値としてEnCが有効になっていることだ。それ以外のケースでは,EnCを使用する機能が利用できない場合もある。MicrosoftのAndrew B. Hall氏が,必要と思われる設定変更に関して,詳しい情報を提供している。それによると,取るべきステップは3つある。

  • デバッグ情報のフォーマットを“Program Database for Edit and Continue (/Zi)”に設定することが必要。
  • インクリメンタルリンクの有効化に“Yes (/INCREMENTAL)”を設定することが必要。
  • Debug -> Optionの“Native Edit and Continue”を有効にすることが必要。

最初の2項目はプロジェクトの設定に適用する。3項は Debug | Option の下にある。(Hall氏はさらに,これらの設定場所について,スクリーンショットを使って説明してくれている。)

残念ながら,制限が残っていて,EnCが期待通りに動作しない場所がいくつかある。VS2015RTMユーザに影響するものもあるが,Hall氏は将来のVS2015のアップデートで対処する予定だ,としている。まず挙げられるのは,Windowsストア用にコンパイルされたバイナリがEnCをサポートしないことだ。同様に,/DEBUG:FASTLINKでコンパイルされたバイナリもサポートされない。最適化を有効にしてコンパイルされたバイナリにも,これと同じ制限がある。

EnCを使ってファイルを編集する場合,現行のVC2015では,ファイル編集の回数が制限されている。これを越えて編集作業を行った場合には,予約スペースがないことを示すエラーメッセージが表示される。この予約スペースのサイズは今のところ固定だが,開発チームはこれを設定可能にして,より開発者フレンドリにすることを計画中だ。

64ビットコードでEnCを活用するには,v140のツールセットを使用する必要がある。同じように32ビットコードでEnCを利用する場合は,v120のツールセットが対象になる。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT