-1

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

4

1 回答 1

0

一般来说,分析core转储的好工具是gdb调试器。

因此,您应该使用传递给or的-g标志编译所有代码或(在ELF可执行文件中包含DWARF调试信息)。gccg++clang

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

您可以(但可能不应该)core 以其他方式分析文件(没有gdb)。然后你需要了解它的详细格式(这可能需要几个月的工作)。参见elf(5)core(5)

顺便说一句,valgrind也可能有用。

你甚至可以gdb用来分析一个没有编译的程序的核心转储,-g但它的用处要小得多。

于 2017-12-10T08:12:21.940 回答