我想分析特定过程产生的每个内存块内容。因此,我所做的就是使用" GCore PID"获得该过程的核心转储,但是我不知道如何检索内容,任何人都可以提供帮助吗?
通常,分析core
转储的好工具是gdb
调试器。
因此,您应该使用传递给gcc
或g++
或clang
的-g
标志来编译所有代码(要在Elf可执行文件中具有DWARF DEBUG信息)。
然后,您可以使用命令gdb myprog core
分析程序myprog
的(验尸或不)核心转储。了解如何使用gdb
。请注意,gdb
是可脚本且可扩展的(在Python和Guile中)。
您可以(但可能不应该)分析core
文件否则(没有gdb
)。然后,您需要了解其详细格式(这可能需要几个月的工作)。参见Elf(5)和Core(5)。
btw,valgrind也可能有用。
您甚至可以使用gdb
从没有-g
编译的程序中分析一个核心转储,但这要少得多。