能否获取运行中进程的核心转储和符号表?

77

有没有可能使用gdb或其他工具来创建正在运行的进程及其符号表的核心转储?如果不终止进程,那将是很好的。

如果可以实现,你会使用什么命令? (我正在尝试在Linux上完成此操作)

3个回答

90

或者运行 gcore $(pidof 进程名)

相对于运行 gdb 并向 CLI 发出命令,它的优点在于您可以在最短时间内附加和分离。


89
$ gdb --pid=26426
(gdb) gcore
保存核心文件 core.26426
(gdb) 分离

11
不需要设置"ulimit -c unlimited",因为gdb不会遵循它(gdb应该始终给您整个核心文件)。您也可以在不运行gdb的情况下,通过使用命令"gcore pid"从cli执行此操作。 - psanford

2
您可以在gdb中使用generate-core-file命令来生成正在运行的进程的核心转储文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接