Debugging

如何找到用於反編譯的分離調試符號?

  • October 12, 2017

我正在嘗試在非標準路徑(特別是在/frs/alg/alg/bin/)中不編碼二進製文件的情況下調試段錯誤,並且我注意到反編譯的程式碼比在gdb下調試時具有更少的符號。我假設調試符號是分離的,但是我應該在哪裡找到它們?

大概二進製文件已經分離了調試資訊;如果gdb能夠在沒有任何特定配置的情況下找到它,它應該位於其中之一

  • 一個基於 build-id 的文件/usr/lib/debug/.build-id
  • .debug二進製文件旁邊的文件;
  • 中的一個.debug文件/frs/alg/alg/bin/.debug
  • 中的一個.debug文件/usr/lib/debug/frs/alg/alg/bin

二進製文件可能有一個指向分離資訊的調試連結;在二進製文件中查找一個.gnu_debuglink部分。要查找其建構 ID(如果有),請查找名為的部分.note.gnu.build-id或類似的內容。

引用自:https://unix.stackexchange.com/questions/397802