Linux进程是否有一种简单的方法可以访问自己的DWARF调试信息?我有一个进程想要将一个特定编译单元的DWARF信息转储到日志文件中。
这是为了简化一些物流。我有包含原始C结构的二进制日志文件,我需要使用DWARF信息来解码这些文件。我希望在日志文件的开头包含DWARF数据,使它们“独立”,而不是必须单独提供。
答案 0 :(得分:1)
从/ proc / self / exe读取矮人信息,例如..
objdump --dwarf --full-contents /proc/self/exe
显示了这个想法..然后可以使用现有工具查询您想要的内容
/proc/self/exe: file format elf64-x86-64
Contents of the .eh_frame section:
...
如果您想自己获取矮人信息,那么libdwarf会提供有用的示例.. dwarfexample / simplereader.c