0
我有一個在Ubuntu中運行的C++應用程序。我想要做的是去掉其符號的應用程序二進制文件,以使它們不是二進制文件的一部分,但是使用addr2line實用程序通過引用符號文件而不是二進制文件的一部分符號來獲取回溯信息。這可能嗎?如何在Ubuntu中提供帶有符號文件的addr2line以與剝離的二進制文件一起使用?
我已經得到了迄今使用生成符號文件最接近:
strip MyBinary -o thesymbols.sym
然後我嘗試使用該文件與addr2line程序,如下所示:
addr2line 0x779e81 -b thesymbols.sym
但這產生了抱怨:
addr2line: 'a.out': No such file
於是我嘗試:
addr2line 0x779e81 -e MyBinary -b thesymbols.sym
但是,這產生了抱怨:
addr2line: MyBinary: Invalid bfd target
有人能指導我的方向是正確的?我究竟做錯了什麼?
在此先感謝您的幫助!
編輯:
現在我意識到,當我以爲我是創造,只是包含符號信息與下列文件:
strip MyBinary -o thesymbols.sym
,我實際上只創建一個精簡的二進制叫thesymbols.sym
這就是說,我原來的問題仍然存在。有任何想法嗎?