我在我的(C++)可执行文件上运行readelf -w
来检查一些调试部分,它几次输出以下警告:
$ readelf -w a.out
...
readelf: Warning: Corrupt offset (0x00000028) in range entry 1
readelf: Warning: Corrupt offset (0x00000044) in range entry 2
readelf: Warning: Corrupt offset (0x00000054) in range entry 3
...
我不知道这是什么意思,手册页和谷歌都帮不上忙。有没有人能启发我?
1条答案
按热度按时间q43xntqr1#
错误来自
dwarf.c
,如下所示:如果不看
readelf --all
的输出,很难说这意味着什么。可能是您的编译器产生了错误的调试信息,但也可能是readelf
中的bug,可能是this one。您可以尝试使用elfutils包中的
eu-readelf
,它看起来维护得更好。