在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C  嵌入式  測試/ 如何從object file得到崩潰地址對應(yīng)的代碼行數(shù)?

如何從object file得到崩潰地址對應(yīng)的代碼行數(shù)?

工程是使用ARM的DS-5作為SDK,SDK提供工具鏈的是armcc,Windows下交叉編譯到ARM9EJ-S執(zhí)行。
工具鏈只提供了必要的編譯器armcc,匯編器armas,連接器armlink,沒有類似addr2line的東西。

編譯出可執(zhí)行文件外還會有一個map文件展示可執(zhí)行文件的內(nèi)存空間分配。當(dāng)程序崩潰時,拿到崩潰
地址后,可以通過map文件找到對應(yīng)的函數(shù),但無法定位到代碼行數(shù)。armcc編譯出來的object file
是elf格式,可以帶DWARF2或DWARF3的調(diào)試信息,但是armlink生成可執(zhí)行文件時會把所有的debug
信息去掉。

能夠通過現(xiàn)有的崩潰地址、帶debug信息的object file、map文件和可執(zhí)行文件得到崩潰地址對應(yīng)的
代碼行數(shù)嗎?
回答
編輯回答
別傷我

armlink鏈接生成的文件是elf格式的,用arm-linux-gnueabihf-addr2line.exe即可。

2018年2月4日 14:28