我想在进程退出时转储它的内存。我见过的所有使用 gcore
、gdb
甚至 procdump for linux 的解决方案在执行中间转储核心,而不是在它终止时转储
Procdump for windows 对此有一个非常优雅的解决方案,即 -t
将允许 procdump 在进程退出时创建转储。
我偶然发现了 ulimit -c unlimited
但这同样只会为非正常退出生成转储。
我想要转储的进程可以是任何进程,而不是我的应用程序。
最佳答案
如果你想用 gdb 模仿这个行为:
Procdump for windows has a very elegant solution for this, i.e. -t will allow procdump to create a dump when the process exits.
首先你创建一个文件“mycommand.txt”:
b exit
r
generate-core-file ./core.1
q
然后你开始你的程序:
gdb --command mycommand.txt yourprogram
您的工作目录中将有一个名为 core.1 的文件。检查:
gdb yourprogram core.1
关于linux - 在退出 linux 时转储进程内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49171105/