皆さんごきげんよう。本記事は、2021 年 7 月 29 日(米国時間)ポストされた Visual Studio Code C++ July 2021 Update: Disassembly View, Macro Expansion and Windows ARM64 Debugging の意訳のようななにかとなります。内容については下記が原文で、正となります。
2021 年 7 月にリリースされた Visual Studio Code の C++ 拡張機能には、デバッグ時の逆アセンブリ コード表示、インライン マクロの拡張、Windows ARM64 アーキテクチャのデバッグ サポートなどの新機能が追加されました。
またほかにもさまざまな機能強化やバグ修正が行われています。
■ 機能強化の詳細について
GitHubのリリースノートをご覧ください。
#Disassembly View
VS Code Insidersでは、GitHub における賛成数 No.1 (#206)の **Disassembly View (逆アセンブル コードの表示) ** が VS Code Insiders で公開されました。Disassembly View では、コンパイラが作成した命令に対応するアセンブリ コードをデバッグすることができます。この機能は、8 月にリリースされる Visual Studio Code 1.59 で利用可能になる予定ですが、それまでの間は、VS Code Insiders をダウンロードしてお試しいただけます。
デバッグ中に Disassembly View を開くには、ソースコードを右クリックして Open Disassembly View
を選択してください。
Disassembly View では、イエロー マーカーが現在の命令を表します。各命令についてのメモリ アドレス(左の列)、機械語命令が 16 進数(中の列)およびアセンブリ言語(右の列)として表示されます。各命令の間を移動することや、ステップオーバー(F10)やステップイン(F11)なども実行可能です。
Disassembly View でブレークポイントをセットするには、命令上にカーソルをポイントし、メモリ アドレスの左に表示される赤い円をクリックします。
再度、赤い円をクリックするか、Debug ペインの Braakpoint セクションのボックスをオフにすることで、ブレークポイントの設定が解除されます。
実際にやってみると、以下のような感じです。(クリックすると動きが見られます)
#マクロの展開
C++ 拡張機能の最新リリースでは、マクロをインライン展開できるようになり(GitHub issue #4183)、コードを読むのも、理解するのも容易になりました。マクロをインライン展開するには、マクロをクリックし、電球的な形をしたアイコンを選択してから Inline macro
をクリックします。
#Windows ARM64 環境でのデバッグ
昨年、C++ 拡張機能を Windows ARM64 アーキテクチャ上で実行するためのサポート機能を発表しましたが、あらたねて Surface Pro X ユーザーは C++ IntelliSence、コード ナビゲーション、ビルド サポートを利用できるようになりました。2021 年 7 月の C++ 拡張機能のアップデートにより、Windows ARM64 環境でプロジェクトをデバッグできるようになりました。これで、VS Code でのエンドツーエンドの Surface Pro X での C++ 開発エクスペリエンスが完成します。
#フィードバックお待ちしています
Visual Studio Code の C++ 拡張機能を試してみて、ご意見をお聞かせください。何か問題が発生したとか、あるいはこうしたらいいんじゃないの?といったご提案など、GitHub リポジトリの Issues
セクションでご報告ください。
ダウンロードはこちらから
また、Insiders Program に参加いただくと、リリース初期段階のビルドにアクセスすることができます。「File」→「Preferences」→「Settings」で、「Extensions」→「C/C++」→「C_Cpp.Update Channel」を「Insiders」に変更してください。次に、「Features」>「Extensions」で、「Extensions: Auto Update」を有効にしてみてください。
お問い合わせは、以下のブログのコメント欄またはメール(visualcpp@microsoft.com)で受け付けしております。また、Twitter の @VisualC でも Welcome です。
■ ブログのコメント欄は下記ブログをスクロール
以上、Julia さんでした。
それではみなさんごきげんよう。