对于上下文:当在剥离的二进制文件上运行gdb
并且在与正在调试的二进制文件对应的debuginfo rpm的后面时,所有受损的函数名称都被它们各自的来自debuginfo的非破坏的等价物替换。转。
假设相同的基本场景(即您有一些ELF文件已被剥离所有调试信息,并且您有一个debuginfo rpm对应于同一个ELF文件,其中包含所有调试符号)。鉴于这些假设,是否有一种快速简便的方法使objdump
能够识别那些调试符号,以便objdump
从debuginfo rpm输出函数名而不是错位符号?
我已经阅读了objdump
的文档,但它看起来没有能力读取debuginfo rpms。 objdump -C
很接近,但它没有提供与debuginfo rpm中完全相同的名称,我确实需要名称完全相同。
或者,如果没有开箱即用的解决方案,是否有一些用于读取debuginfo rpms的库,这样可以更容易地编写" find-and-replace& #34;错误的objdump
函数名称?
谢谢!
编辑:如果它简化了问题,所有的debuginfos都采用相同的格式,即DWARF版本4.
答案 0 :(得分:0)
我认为没有一个简单的解决方案...您所谈论的gdb
功能是a feature of the gdb executable而debuginfo
RPM除了丢弃之外没有做任何事情文件在正确的位置。
我唯一能想到的就是某种联合国 - strip
- that's been asked before,而且似乎并非琐碎。