我正在尝试在非标准路径(特别是在 /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
或类似的内容。