從共享庫中檢索符號資訊
使用共享庫(.so 檔案)時,通常需要檢查其符號深入了解它們的結構和相互關係。本指南將探索列出 .so 檔案中符號的各種方法,包括識別其來源和依賴關係的技術。
nm 指令
nm 實用程式是一個常見的工具用於列出可執行檔案和庫檔案中的符號的工具。它提供有關符號名稱、地址和特徵的詳細資訊。要使用 nm 列出 .so 檔案中的符號:
nm -gD yourLib.so
-gD 選項指示 nm 顯示符號名稱及其關聯的 GNU 偵錯資訊。
拆解 C 符號
就 C 函式庫而言,出於最佳化目的,符號通常會被破壞。要將這些符號進行分解,使其更具可讀性,請使用-C 選項:
nm -gDC yourLib.so
ELF 格式的共享庫
如果.so文件是ELF格式,可以使用兩種替代工具利用:
objdump
objdump 提供有關ELF 文件的全面信息,包括符號列表:
$ objdump -TC libz.so
-C 選項對 C進行解析符號,改進
readelf
Readelf 提供了功能豐富的ELF 檔案分析,包括符號資訊:
$ readelf -Ws libz.so
-Ws 選項顯示詳細的符號表。
以上是如何從共享庫(.so 檔案)中檢索和分解符號資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!