vscodeでC/C++ デバッグの設定(GDB/MIインターフェース)
vscodeの ms-vscode.cpptools はGDB/MIインターフェイスを使用している。 そのためlaunch.jsonを適切に設定するには、GDB/MIインターフェイスの理解が必要となる。
GDBが解釈するインターフェースは2つある。 一つ目がGDBコマンド、もう一つがGDB/MIインターフェイス。
GDBコマンド
gdbをtuiで使って実行している時に使うもの。
ステップ実行を例にすると
next
やその省略形のn
がGDBコマンドに該当する
(next
は本来、下位プログラムの実行を再開し、 次のソース行の先頭に到達したところで停止するものだが理解しやすさを優先しここではステップ実行と説明する)
GDB/MIインターフェイス
そこから拝借すると以下のような説明がある.
GDBコマンドとGDB/MIインターフェイスの対応づけは上記リンクに記載してあるものが多い。
ステップ実行を行うGDBコマンドnext
に対応するGDB/MIインターフェースは-exec-next
となる。
なお全てのGDB/MIインターフェースのソースコードは以下にある。
sourceware.org Git - binutils-gdb.git/blob - gdb/mi/mi-cmds.c