gdbを練習したのでメモ
- tui オプションをつけるとDDDっぽくなる。Ctrl-x aで切り替え
コマンド | 略称 | 効果 |
p | 引数の情報表示する | |
break | b | 引数の場所にbreakpointを設定する。 |
condition | cond | 引数の番号を持つbreakpointにif文追加 |
clear | 引数のbreakpointを消去。引数の指定は設定のときと同じ。引数なしの場合は次のbreakpointを消去 | |
list | 引数の場所にフォーカス | |
info breakpoints | breakpointの情報表示 | |
tbreak | tb | 一回だけのbreakpoint設定 |
delete | del | 引数にbreakpointの番号。引数なしの場合はbreakpointの全消去 |
enable | breakpoint有効 | |
disable | breakpoint無効 | |
step | s | 逐次実行関数の中に入る。 |
next | n | 逐次実行、関数の中に入らない。 |
until | u | ループから抜ける。引数を指定するとtbと同じような動作 |
continue | c | 次のbreakpointまで実行。引数に数字をとれる。数字の文だけbreakpoint無視 |
finish | fin | 関数の末尾まで実行 |
commands | 引数にbreakpoint番号。そのbreakpointでとまったときに実行するコマンド設定。 | |
watch | 引数の変数が変更されたときにとまる。 | |
display | disp | 引数にprintと同じもの。とまるたびにprintするようになる。 |
call | プログラムの関数呼び出しtuimodeではうまく動作してない? | |
set | 引数の値をセットする$hogeでgdbの新しい変数 | |
info locals | 現在のスコープにある変数一覧 |
breakpointの引数の指定方法
引数には(ファイル名:)数字,(ファイル名:)関数名が設定できる。つまり
break 3 break function break filename:3 break filename:function
1行目は3行目にbreakpoint設定。
2行目はfunctionが呼ばれる場所に設定。
3行目はfilenameの3行目にbreakpointを設定。
4行目はfilename中のfunctionが呼ばれている場所に設定。
if hogehogeとすることでhogeという条件ときだけbreakするように設定できる。
break 3 if hoge
commandsの使い方
commands breakpoink 3 ....コマンド.... end
と入力することによってbreakpoint3で常に...コマンド...に記入したコマンドを実行する。