更改在elf调试信息中列出的源文件

4
基本上,我想要能够在 elf 二进制文件的调试 dwarf 部分中更改源文件的路径。
3个回答

1

debugedit 是 RPM 包中包含的一个程序,应该会很有帮助。


2
值得注意的是,debugedit 拒绝创建由重写导致的更长路径。 - Roman Saveljev

1
基本上我想要能够在 ELF 二进制文件的调试 Dwarf 部分中更改源文件的路径。
有什么问题吗?
路径存储在二进制文件的 .debug_str 部分中,作为一个以 NUL 结尾的字符串。您可以通过例如 readelf -S 找到该部分的偏移量,并使用 emacs 编辑该字符串。或编写程序来完成此操作。

1
如果真的那么简单就好了。矮人节(dwarf sections)交叉引用,即debug_info具有指向debug_line的偏移量。因此,如果您更改了debug_line,则必须修改其他部分以反映这些更改。 - John Kearney

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接