処理 | 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 |