当涉及到ELF时,伴随的两种调试格式对其他格式来说是非常流行的,即刺矮人。我希望有一种简单的方法来确定给定的二进制文件是否包含一种或另一种形式的调试信息,最好不必检查节名(.stab等)。
做这件事的好方法是什么?
发布于 2015-03-29 08:45:14
当涉及ELF时,两种伴随的调试格式非常流行。
在过去10年中,STABS
格式在ELF
平台上没有被任何当前编译器默认使用。它绝对不是“压倒性的流行”。
辨别的方法:
readelf -WS ./a.out | egrep '\.(stab |debug)'
如果二进制文件有.stab
,您将看到STABS
部分。如果你有.debug_info
,.debug_line
等,如果你有DWARF
的话。如果您根本没有调试信息,您将什么也看不到。
最好不必检查区段名称
不查看部分是无法完成的:是这些部分的存在与否使二进制文件包含或不包含调试信息。
https://stackoverflow.com/questions/29297711
复制