如何找到分离的调试符号进行反编译?

如何找到分离的调试符号进行反编译?

我正在尝试在非标准路径(特别是在 /frs/alg/alg/bin/ 中)中调试二进制代码而不编写段错误,并且我注意到反编译的代码比在 gdb 下调试时的符号更少。我假设调试符号已分离,但是我应该在哪里找到它们?

答案1

大概二进制文件有分离的调试信息;如果gdb能够在没有任何特定配置的情况下找到它,它应该位于以下之一

  • /usr/lib/debug/.build-id;下基于 build-id 的文件
  • .debug二进制文件旁边的文件;
  • 中的一个.debug文件/frs/alg/alg/bin/.debug
  • 中的一个.debug文件/usr/lib/debug/frs/alg/alg/bin

二进制文件可能有一个指向分离信息的调试链接;.gnu_debuglink在二进制文件中查找一个部分。要查找其 build-id(如果有),请查找名为的部分.note.gnu.build-id或类似的内容。

相关内容