🧀

gdb コマンド チートシート

2024/04/01に公開

基本操作

Usage 意味
r [<引数>] 引数を指定して実行する。
q デバッガの終了
set args <...引数> デフォルト引数の設定

ブレークポイント

Usage 意味
b <関数名> 関数に設定
b <ファイル名>:<行番号> 特定のファイルと行に設定
i b ブレークポイント一覧を表示
d <番号> ブレークポイントの削除
watch <グローバル変数> グローバル変数が変更されたときに停止する設定

実行操作

Usage 意味
c 次のブレークポイントまで実行
n ステップオーバー
s ステップイン
fin 現在の関数を最後まで実行
u ループを抜ける

一つ前の行まで戻る

複雑そうだったため、以下参考。

https://zenn.dev/hosu/articles/5d0eb1cf475bf4#一つ前の行にもどる

情報表示

Usage 意味
bt スタックトレース表示
show args デフォルト引数表示
i lo ローカル変数を表示
l ソースコードを表示
i b ブレークポイント一覧を表示
what <変数名> 変数の型を表示
printf f ,e 式e を評価してフォーマットf で表示

コードの実行

Usage 意味
return <戻り値> 戻り値を設定して関数を終了
p <変数名>=<代入値> 値の代入

スタック

Usage 意味
f <n> n 番目のフレームを選択
down 先のスタックフレームへ移動
up 前のスタックフレームへ移動

補足

テーブル形式でgdbコマンドを羅列しているものが少なかったため、作成。
(ほぼ自分用)
また、タイトルで内容が想像できると判断したため、必要そうな情報を上部の方に固めています。

参考

https://zenn.dev/hosu/articles/5d0eb1cf475bf4

https://www.fos.kuis.kyoto-u.ac.jp/le2soft/siryo-html/node49.html

Discussion