对于ELF,两种伴随的调试格式在其他方面非常受欢迎,即STAB and DWARF。我想要一种简单的方法来确定给定的二进制文件是否包含一种形式或另一种形式的调试信息,最好不必检查节名称(.stab等)。
有什么好方法可以实现这个目标?
答案 0 :(得分:2)
说到ELF,两种随附的调试格式非常受欢迎
过去10年来,STABS
平台上的任何当前编译器都默认使用ELF
格式。它绝对不是#34;绝对受欢迎"。
告诉我们的方式:
readelf -WS ./a.out | egrep '\.(stab |debug)'
如果二进制文件有.stab
,您会看到STABS
部分。如果您有.debug_info
,则会看到.debug_line
,DWARF
等。如果您根本没有调试信息,您将看不到任何内容。
最好不必检查章节名称
在不查看部分的情况下无法完成:这些部分的存在与否使二进制文件包含或不包含调试信息。