0

我想在进程退出时转储它的内存。我见过的所有解决方案gcoregdb甚至procdump for linux都在执行过程中转储核心,而不是在它终止时转储核心

Windows 的 Procdump 对此有一个非常优雅的解决方案,即-t允许 procdump 在进程退出时创建转储。

我偶然发现,ulimit -c unlimited但这又只会为非优雅退出生成转储。

我想要转储的进程可以是任何进程,而不是我的应用程序。

4

1 回答 1

1

如果你想用 gdb 模仿这种行为:

Windows 的 Procdump 对此有一个非常优雅的解决方案,即 -t 将允许 procdump 在进程退出时创建转储。

首先你创建一个文件'mycommand.txt':

b exit
r
generate-core-file ./core.1
q

然后你开始你的程序:

 gdb --command mycommand.txt yourprogram 

您的工作目录中将有一个名为 core.1 的文件。检查:

gdb yourprogram core.1
于 2018-03-08T11:41:26.787 回答