emacsの中からgdbを起動するとブレークさせた時に、現在の位置をソースコード上で確認できるので便利。rust-gdbでも同様のことができる。
emacsの中からrust-gdbを起動する
M-x gdb
を実行すると、以下のように表示される。
Run gdb (like this): gdb -i=mi
rust-gdbを使用する場合は、これを以下のように書き換える。
-i=mi
のオプションはemacsとgdbの間の通信に関するものなので必ずつける。
Run gdb (like this): rust-gdb -i=mi
実行ファイルがtarget/debug/execfile
実行時の引数が --debug --output=out1
ブレークさせたいところが scuInit
の場合の例
*gud*のバッファで
(gdb) file target/debug/execfile
(gdb) set args --debug --output=out1
(gdb) b scuInit
(gdb) r
これで scuInitでブレークする。
何度も同じ設定を使用する場合は .gdbinit に書けばよいはず。
RustのプログラムにリンクしているC++のライブラリの関数にも区別なくブレークポイントを設定できる。
ソースコードバッファからブレークポイントを設定する
ソースコードを表示しているところで現在カーソルのある行にブレークポイントを設定するには
M-x gud-break
または
C-x C-a C-b