デバッグする前に
GDBでプログラムをデバッグする場合は、コンパイル時にデバッグ情報を追加する必要があります。GCCで
追加されたメソッド
GCC -g a.c -o a.exe
または、以下のGDBに沿ったデバッグ情報を提供してください
GCC -ggdb a.c -o a.exe
プロセスを実行する
コマンド |
効果 |
-開始 |
プログラムの実行を開始し、メイン関数の最初の文で停止します |
-続行、-c |
現在の場所から実行を続行します |
-実行、-r |
次のブレークポイントまたはプログラムの最後までプログラムを実行します |
-次、-n |
実行中、他の機能を入力しないでください |
-ステップ、-s |
次のステップは、なり他の機能を入力してください |
-引数を設定<パラメータ> |
実行中のパラメーターを指定する |
-argeを表示 |
設定されているパラメータを表示する |
-パス<パス> |
プログラムを実行するためのパスを設定します |
-パスを表示 |
設定したパスを表示する |
変数とスタック操作
コマンド |
効果 |
-info <変数名>、-i <変数名> |
ローカル変数値を表示する |
-info locals、-i locals |
すべてのローカル変数の値を表示する |
-set var <変数名> = <値> |
現在の変数の値を変更します |
-print <式>、-p <式> |
式の値を表示する |
-<変数名>を表示します |
変数を追跡し、停止するたびにこの変数を表示します |
-x / <整数> <変数名> |
変数名が指すメモリユニットから始まる整数バイトの内容を表示します |
-バックトレース、bt |
関数とそのパラメーターを表示する |
-フレーム<スタックレベル(整数)>、-f <スタックレベル> |
指定したスタックに切り替えると、グローバル変数や別のローカル変数など、他の場所にある変数を表示できます。 |
ブレークポイント関連の操作
コマンド |
効果 |
-break <行数、関数名>、-b <行数、関数名> |
行または関数にブレークポイントを設定します |
-break <行数、関数名> if <式> |
式が特定の行または関数で確立されたときにブレークポイントを設定します |
-情報ブレークポイント |
見るすべてのブレークポイントとそのブレークポイント番号を |
-ブレークポイントを削除<ブレークポイント番号> |
ブレークポイントを削除する |
-ブレークポイントを無効にする<ブレークポイント番号> |
ブレークポイントを無効にする |
-ブレークポイントを有効にする<ブレークポイント番号> |
ブレークポイントを有効にする |
-ウォッチ<変数名> |
変数が変更されたときに中断する |
-情報ウォッチポイント、iウォッチポイント |
すべての監視変数を表示 |