【发布时间】:2015-02-11 07:00:58
【问题描述】:
如果在编译 C 文件时向 GCC 提供了默认选项 (-g),我如何从 Linux 上的可执行文件中转储 debug_loc 部分?我使用readelf linux 实用程序。
GCC 默认生成 DWARF4 格式的 DWARF 信息,所以如果我通过 -g-dwarf2 我可以看到 .debug_loc 部分,但是如果使用默认选项生成信息,如何检查该部分,因为我在转储中看不到该部分?
【问题讨论】:
-
您使用的是最新版本的 binutils 吗?在 Ubuntu 14.04 上,我可以使用“gcc -g test.c -o test”构建可执行文件。然后执行“readelf --debug-dump=info test”并查看它是 DWARF 4,然后执行 readelf --debug-dump=decodedline test 并获取 .debug_line 部分的内容。
-
哦,我不知道这个选项。请对此进行更多解释并回答我会接受的,非常感谢!