今日私はgdbでデバッグしようとしました(良い出力)
gcc / g ++-oで直接コンパイルされたgccまたはg ++実行可能プログラムの場合、gdbで直接デバッグすることはできません。-gコマンドが追加された場合にのみ、デバッグ情報を含むコンパイルが実行されます。
例:
gcc main.c -o main -g
次に、gdbを使用してデバッグできます。
gdb main
或
gdb main --slient //去掉开始的提示信息
次に、いくつかの単純で一般的に使用されるデバッグコマンドを示します。
(gdb)break xxx
(gdb)b xxxソースコードで指定された行にブレークポイントを設定します。xxxは、特定のブレークポイントの場所を指定するために使用されます。
(gdb)run
(gdb)rデバッグされたプログラムを実行します。これにより、最初のブレークポイントで実行が自動的に中断されます。
(gdb)continue
(gdb)cプログラムが特定のブレークポイントで実行を停止した場合、この命令を使用して、次のブレークポイントに到達するか、プログラムが終了するまで実行を続行します。
(gdb)next
(gdb)nは、プログラムに1行のコードと1行のコードを実行させます。
(gdb)print xxx
(gdb)pxxx指定された変数の値を出力します。xxxは変数名を示します。
(gdb)list
(gdb)lコードの各行が配置されている行番号を含むソースコードの内容を表示します。
(注:一度に表示される行は数行のみです。Enterキーを押すと表示を続行できます)
(gdb)quit
(gdb)qデバッグを停止します。
上記の手順(存在しない)に依存することで、Dafaのエクスポートをほぼ取り除くことができます
gdbについて詳しく知りたい場合は、次のWebサイトを参照してください
。GDBデバッグC / C ++