gcc功能:从二进制文件生成源文件列表

时间:2015-04-03 09:36:26

标签: c++ c gcc gdb objdump

gcc 是否具有来自二进制文件的源文件列表(.c / .c ++ /。h)的功能(如果二进制文件具有调试信息)? ?

我知道同样可以通过 objdump GDB 来实现。 但是“objdump”和“GDB”仅列出“.c”文件列表。

Exapmle: 我有两个文件(test.c和test.h),我用“-g”选项编译了测试代码并使用了“objdump”,如下所示:

bdk4user@llvm:~/home$ objdump --dwarf=decodedline a.out 

a.out:     file format elf64-x86-64

Decoded dump of debug contents of section .debug_line:

CU: test.c:
File name                            Line number    Starting address
test.c                                         4            0x40057d
test.c                                         6            0x400585 
test.c                                         7            0x40058f
test.c                                         8            0x4005a1
...

但它没有列出也使用的“.h”文件。

所以我的问题是, GCC 是否有功能,它可以提供正在二进制文件中使用的所有文件的列表。??

或任何其他实用程序达到相同的效果.. ??

提前致谢。

1 个答案:

答案 0 :(得分:1)

  

“但它没有列出也使用的”.h“文件。”

由于头文件是使用C / C ++预处理器处理的,所以即使在生成.o文件之前,这些工具都不能有它们的概念。