コアファイルをgdbに保存する


90

gdbを使用してコアファイルを保存/ダンプすることは可能ですか?後で分析するためにファイルを保存したい場合があります。

回答:


140

gdbで「generate-core-file」コマンドを発行します。

(gdb) help generate-core-file
Save a core file with the current state of the debugged process.
Argument is optional filename.  Default filename is 'core.<process_id>'.
(gdb) break main
Breakpoint 1 at 0x400e0b: file utils/udec.c, line 36.
(gdb) r
Starting program: /home/nos/build/utils/udec

Breakpoint 1, main (argc=1, argv=0x7fffffffe9a8) at utils/udec.c:36
36              int fileargc = 1;
(gdb) generate-core-file
Saved corefile core.7336

4
これはGDBの現在の作業ディレクトリに保存され、pwdコマンドで確認できます。変更する必要がある場合cdは、シェルの場合と同じように、を使用して変更できます。
Jonathon Reinhart 2015

3
@Jonathon_Reinhartは、コアファイルのパスをgenerate-core-file特定の場所に保存する場合、最初の引数として渡します
SergA 2015

19

gcore <pid>コアの作成にも使用できます。


これはコメント部分にあるはずです
V-rundPuro- 2016

8
このページをご覧くださいstackoverflow.com/help/privileges/comment:いつコメントすべきではありませんか?....「質問に回答するか、既存の回答に対する代替ソリューションを提供します。」
Meinew 2016年

1
gcore新しいgdbバージョンでのみサポートされているようです。古いものは必要ですgenerate-core-file
SCAI

これはの短い名前のようでgenerate-core-file、どちらも同じことをしています。
CiroSantilli郝海东冠状病六四事件法轮功
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.