我想在进程退出时转储进程的内存。我见过的所有使用 gcore
的解决方案 gdb
甚至 procdump for linux 在执行过程中转储核心,而不是确切地在它终止时
Procdump for Windows对此有一个非常优雅的解决方案,即 -t
将允许 procdump 在进程退出时创建转储。
我偶然发现了ulimit -c unlimited
但这只会为非正常退出生成转储。
我想要转储的进程可以是任何进程,而不完全是我的应用程序。
用gdb模仿这种行为:
Procdump for Windows 对此有一个非常优雅的解决方案,即 -t 将允许 procdump 在进程退出时创建转储。
首先,创建一个文件"mycommand.txt":
b exit
r
generate-core-file ./core.1
q
然后,从以下方法开始程序:
gdb --command mycommand.txt yourprogram
您的工作目录中将有一个名为 core.1 的文件。检查:
gdb yourprogram core.1