VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に

今回は「VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に」についてご紹介します。

関連ワード (フラグ、現在対応、開発等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


マイクロソフトは、オープンソースで開発しているコードエディタ「Visual Studio Code」(以下、VSCode)の最新版となる2023年9月版(バージョン1.83)で、JavaScriptデバッガがWebAssemblyのデバッグにも対応したことを明らかにしました。

The JavaScript debugger can now debug code compiled into WebAssembly if it includes DWARF debug information. For example, C++ code compiled using Emscripten can be debugged: pic.twitter.com/R1KWFdzET3

— Visual Studio Code (@code) October 13, 2023

WebAssemblyのデバッグは、VSCodeに拡張機能「WebAssembly DWARF Debugging」をインストールした上で、デバッグ用データフォーマットの「DWARF」による情報が含まれているWebAssemblyバイナリが対象となります。

DWARFによるデバッグ情報を含むWebAssemblyバイナリは、C/C++ではEmscriptenで「-g」フラグを付けてコンパイル、Zigでは「Debug」ビルドモードでのコンパイルで作成可能。Rustは現在対応するコンパイル機能を開発中とされています。

デバッグを開始した画面の例が下記です。画面左上には変数(Variables)が、左下にはコールスタックが表示され、画面右にはWebAssemblyにマップされたCのソースコードと、ブレークポイントが設定されているのが見て取れます。

fig

これによりVSCodeでソースコードを追いながらWebAssemblyの実行時デバッグが可能となります。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
日立ら4社、デジタルな仕組みを用いた環境債の発行で協業
IT関連
2022-04-20 21:03
論議呼ぶ防犯アプリ「Vigilante(自警団員)」改め「Citizen」が月額約2180円のProtectサービスを開始
ソフトウェア
2021-08-05 06:25
Netflix、「ガンダム」実写版製作発表 「キングコング: 髑髏島の巨神」のロバーツ監督で
アプリ・Web
2021-04-14 00:49
業務自動化のUiPathが約790億円調達、IPOもまもなく
ソフトウェア
2021-02-03 06:49
ランサムウェア攻撃の半数はリモートサービスの悪用が起点
IT関連
2022-10-13 20:12
NTT Com、耐量子暗号技術を用いた通信の実証に成功
IT関連
2025-01-17 12:17
スマホのタッチ決済の利用率ランキング 「モバイルSuica」は2位 1位は? MMD調査
企業・業界動向
2021-07-31 03:16
AIモデルで地中の埋設物を高精度に探査–富士通らが開発
IT関連
2022-05-25 14:17
Google Cloud、AIエージェント構築「Vertex AI Agent Builder」など発表
IT関連
2024-04-12 13:37
水出しならぬ「ミルク出し」コーヒーを簡単に 専用ポット、ハリオが発売
くらテク
2021-05-12 09:59
業務の現場が自ら動く–プロセスマイニングに取り組むアフラック
IT関連
2024-12-19 12:25
Sansan、ZOZO、CRAZY、PARTYの起業家が徳島県に「神山まるごと高専」を2023年開校予定
EdTech
2021-05-19 18:05
キヤノンITS、AI検査基盤の新バージョン発売–「良品学習機能」で作業負荷を軽減
IT関連
2023-08-09 20:05
旭酒造、マーケティングやECなど顧客接点をデジタル化–事業のグローバル展開を加速
IT関連
2021-06-16 02:50