我必须分析一个coredump。
我的进程的大多数数据都包含在映射文件中。
当我想访问该数据时,gdb
表示它无法访问该数据,因为它尚未映射该文件。
您知道如何使gdb
映射该文件以便访问数据。
答案 0 :(得分:0)
如何使gdb映射该文件以便访问数据。
我不相信GDB有任何命令可以做到这一点。
您可以做的是将数据文件包装到目标文件中,然后使用add-symbol-file foo.o <suitable-load-address>
。您可以使用objcopy --add-section
执行此操作。 Example
在Linux上,您还可以将核心转储配置为包含只读映射(通常排除此类映射以使core
更小),这将使任何特殊步骤变得不必要。请参阅man 5 core,Controlling which mappings are written to the core dump
上的部分。