如何从进程核心文件中检索内存内容?

时间:2017-12-10 08:08:35

标签: linux memory process analysis gcore

我想分析特定进程产生的每个内存块内容。所以我所做的就是使用" gcore pid"获取进程的核心转储,但我不知道如何检索内容,任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

通常,分析core转储的好工具是gdb调试器。

因此,您应该使用-g标记passed to gccg++clang编译所有代码(以便DWARF中包含ELF调试信息可执行的。)

然后,您可以使用命令myprog分析程序gdb myprog core的(事后验证)核心转储。了解如何use gdb。请注意gdb是可编写脚本的extensible(在Python和Guile中)。

你可以(但可能不应该)分析core文件,否则(没有gdb)。然后你需要了解它的详细格式(这可能需要数月的工作)。请参阅elf(5)core(5)

BTW,valgrind也可能有用。

您甚至可以使用gdb从没有-g编译的程序中分析核心转储,但这样做的效果要差得多。