この回答は古くなっています。GDBは直接保存をサポートするようになりました。この回答を参照してください。
ロギングを使用できます。
(gdb) b main
Breakpoint 1 at 0x8049329
(gdb) info break
Num Type Disp Enb Address What
1 breakpoint keep y 0x08049329 <main+16>
(gdb) set logging file breaks.txt
(gdb) set logging on
Copying output to breaks.txt.
(gdb) info break
Num Type Disp Enb Address What
1 breakpoint keep y 0x08049329 <main+16>
(gdb) q
ファイルbreaks.txtには、次のものが含まれています。
Num Type Disp Enb Address What
1 breakpoint keep y 0x08049329 <main+16>
これを.gdbinit
または--command
ファイルに役立つ形式に変換するAWKスクリプトを作成するのは簡単です。または、スクリプトで--eval-command
GDBコマンドラインに個別のを発行することもできます...
この小さなマクロを.gdbinitに追加すると、次のようになります。
# Call with dump_breaks file.txt
define dump_breaks
set logging file $arg0
set logging redirect on
set logging on
info breakpoints
set logging off
set logging redirect off
end
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]