GDB/CDB デバッグコマンド早見表

処理 cdb gdb
ファイルオープン C:\> cdb -z <file>  
プロセスにアタッチ C:\> cdb -p <pid>
プロセスをデタッチ    
スタックトレース kvn where
全スタックトレース  ~*kvn thread apply all bt
フレームの移動 .frame <frame#> f <frame#>
スレッド一覧  ~* info thread
スレッドの移動  ~<thread#>s thread <thread#>
データの表示(4bytes) dd <addr> x/wx <addr>
データの10つ表示(4bytes) dd <addr> L10 x/10wx <addr>
一行のデータ数を指定 dd /c<#> <addr>
データの表示(8bytes)   x/gx <addr>
シンボル値の表示 x <symbol> p <symbol>
変数、関数のアドレスの表示   info var <var regexp>
ローカル変数の表示 dv  
命令のデコード u <addr> x/i <addr>
関数のディスアセンブル uf <func> disas <func>
クラスフィールドの表示 set print pretty on
print *((‘Pkg::ClassName’ * ) 0x189956e0)
関数一覧の表示   info functions
レジスタの表示 r info reg
ヘルプの表示 ? help
ブレーク(デバッグ開始) Ctr+C Ctr+C
ブレークの設定(関数) bp <addr> stop in <func>
ブレークの設定(アドレス)   break *0x449506
ブレークの設定(ソース行)   break <file>:<line>
ブレークの設定(クラス名+関数) break <class>::<func>()
ブレークの設定(コマンド指定) bp <func> “<cmd> ;g”  
ブレークポイント一覧 bl info breakpoints
ブレークポイントの一時無効化 bd <break#>  
ブレークポイントの削除 bc <break#> delete <break#>
ブレークポイントを全削除 bc *  
実行/再開 g run/cont
ステップイン t  step, stepi
ステップオーバー p  next, nexti
ステップアウト   finish
値の設定    
フレームの移動   frame <frame#>
フレームの情報表示   info frame <frame#>
ソースの表示 list