2
A
回答
3
鑑於宏由預處理器處理,即使實際的編譯器也不知道它們。唯一的選擇是對鱈魚進行反向工程,找到你知道使用宏的地方並從那裏提取數值。
編輯:我剛剛檢查DWARF規範,標準定義.debug_macinfo
部分尤其是儲存關於宏的調試信息,這部分包含DW_MACINFO_define
記錄每個定義的宏。
因此,如果您有庫的調試版本,則可以嘗試使用dwarfdump -m
或readelf --debug-dump=macro
來提取此信息。
但是:我已經在我的系統中的幾個庫上試過了,它們都沒有包含任何宏記錄。默認gcc
不會發出它們,庫必須編譯爲gcc -g3
(該開關增加了調試信息級別)。我想這對你來說是個壞消息。
相關問題
- 1. 編譯二進制文件
- 2. 如何在從GDB獲取值後編輯二進制文件
- 3. 獲取Github上已編譯二進制文件的鏈接
- 4. 從CouchDB獲取帶有搖籃getAttachment的二進制文件?
- 5. 從二進制文件中獲取double和int值的問題
- 6. 從二進制文件獲取datetime
- 7. 從iPhone獲取二進制文件
- 8. 在用mingw-w64編譯的cygwin窗口中調試32位二進制文件
- 9. pip編譯vs二進制文件
- 10. 使用VexCL「編譯二進制文件」
- 11. 反編譯非PC二進制文件
- 12. 如何編譯二進制文件?
- 13. 測試已編譯的二進制文件的功能
- 14. gdb:使用-g編譯的二進制文件與使用-g編譯的二進制編譯的代碼
- 15. GCC編譯的二進制文件給予 「不能執行二進制文件」
- 16. g ++編譯的二進制文件給「不能執行二進制文件」
- 17. 在Amazon MapReduce上調用已編譯的二進制文件
- 18. 試圖編寫一個二進制文件,獲取文本文件
- 19. 將特定測試編譯爲二進制文件
- 20. eclipse:無需二進制文件調試
- 21. 從C++中的二進制文件獲取整數值時的垃圾值
- 22. 從二進制文件獲取值類型c#
- 23. 從文件中讀取二進制數
- 24. 調試/發佈配置影響編譯後的二進制
- 25. 調試屬性如[DebuggerDisplay]是否仍然編譯爲發佈二進制文件?
- 26. C++ - 讀取二進制文件錯誤或編譯器錯誤?
- 27. 從二進制獲取位
- 28. 編輯和讀取二進制文件?
- 29. 如何直接從Github編譯R包二進制文件?
- 30. 如何從Windows反編譯Linux二進制文件?
所以你告訴我,有沒有辦法從調試信息挖掘這個? – 2011-05-17 12:29:47
嗯,其實我錯誤地認爲庫編譯沒有調試信息。事實上,矮人可以提供幫助,讓我稍後更新答案。 – 2011-05-17 12:40:20