基本上我想要能够在 ELF 二进制文件的调试 Dwarf 部分中更改源文件的路径。有什么问题吗?路径存储在二进制文件的 .debug_str 部分中,作为一个以 NUL 结尾的字符串。您可以通过例如 readelf -S 找到该部分的偏移量,并使用 emacs 编辑该字符串。或编写程序来完成此操作。
如果您的答案与gdb(或其他调试器)有关,则通常有一种方法可以更改源路径--在gdb中,您可以通过http://sourceware.org/gdb/onlinedocs/gdb/Source-Path.html查看set substitute-path
debugedit
拒绝创建由重写导致的更长路径。 - Roman Saveljev