要使用addr2line調試Linux程序,首先需要編譯程序時使用-G選項來保留調試信息。然后可以使用addr2line命令來將程序的地址轉換為文件名和行號信息。
下面是一些常見的addr2line用法:
addr2line -e 可執行文件地址 函數地址
例如:
addr2line -e ./a.out 0x4004d6
addr2line -e 可執行文件地址 地址
例如:
addr2line -e ./a.out 0x4004d6
addr2line -e 可執行文件地址 -a -f -i -s 起始地址-結束地址
例如:
addr2line -e ./a.out -a -f -i -s 0x400000-0x500000
使用addr2line可以幫助定位程序中出現的問題,快速找到問題代碼所在的文件和行號,從而更好地進行調試。