我想通過ELF文件獲取源代碼路徑& &源名稱,.debug_str部分包含我需要的內容,但是如何過濾它們?如何從ELF文件(用-g編譯)獲取源代碼路徑&&文件名?
2
A
回答
1
我建議使用這個命令和工具,如sed或grep。
$ readelf --string-dump=.debug_str YOUR_PROGRAM
這個節目的路徑和源文件名:
$ readelf --string-dump=.debug_str YOUR_PROGRAM | sed -n '/\/\|\.c/{s/.*\] //p}'
2
$ readelf --string-dump=.debug_str YOUR_PROGRAM
工作正常。
但是,請確保your_program不是用命令
file YOUR_PROGRAM
0
還有另一種方法去除:
readelf --syms YOUR-PROGGRAM |tee /tmp/log
vim /tmp/log
:vim "FILE" %
你會得到所有的文件名,但沒有路徑。
0
readelf
持有鑰匙,但你不希望傾倒字符串威利。使用-wi
選項來正確格式化信息。
例如,從而創造一個外殼腳本:
readelf -wi $1 | grep -B1 DW_AT_comp_dir | \
awk '/DW_AT_name/{name = $NF; getline; print $NF"/"name}'
其進一步總結了readelf -wi
輸出。
相關問題
- 1. RegEx從代碼需要路徑獲取路徑和文件名
- 2. 如何從路徑獲取文件名?
- 3. 從文件路徑獲取文件名
- 4. 如何獲取Erlang光束文件的源代碼路徑?
- 5. 如何編譯Android 2.3.4源代碼並獲取.img文件
- 6. 從Maven資源獲取文件路徑
- 7. 如何從文件名獲取文件路徑和目錄?
- 8. 如何從文件描述符獲取文件名和路徑?
- 9. 如何從文件路徑獲取父文件夾的名稱?
- 10. 獲取文件路徑的文件名
- 11. 從文件名獲得文件路徑
- 12. 從路徑獲取文件名
- 13. 從fstream獲取文件名(或路徑)
- 14. 從路徑獲取文件夾名稱
- 15. 從路徑名獲取文件struct
- 16. 從JavaScript路徑獲取文件名
- 17. 從完整路徑獲取文件名
- 18. 從路徑獲取文件名
- 19. 從fd獲取文件路徑/名稱
- 20. 在編譯時獲取導入文件的文件路徑
- 21. 如何從文件URL獲取路徑?
- 22. 如何從URI獲取文件路徑?
- 23. 如何從文件路徑名中提取文件名?
- 24. 如何在類路徑中使用jsoup.jar編譯源文件?
- 25. 從uri獲取文件名和路徑作爲文本文件
- 26. PowerShell - 如何捕獲文件路徑名稱,包括使用此代碼的長文件路徑名稱+ AlphaFS
- 27. 如何從ls中獲取全名,路徑和文件名?
- 28. 如何使用pyqt5從文件路徑中獲取文件路徑?
- 29. 如何使用running-vba代碼獲取文件的文件路徑
- 30. 如何獲取g ++列出所有#included文件的路徑
這個答案出現在低質量的審查隊列中,大概是因爲你沒有提供任何代碼的解釋。如果此代碼回答此問題,請考慮添加一些文字,說明答案中的代碼。這樣,你就更有可能獲得更多讚揚 - 並幫助提問者學習新東西。 – lmo