lst 檔案的建立與除錯價值
阿新 • • 發佈:2018-12-09
lst檔案的建立與除錯價值
在使用 eclipse 進行嵌入式開發時,有時會遇到程式跳入異常服務程式的情況。這種情況一旦出現,往往讓人有點無處著力的感覺。可如果你瞭解 lst 檔案,那麼在這種情況下它往往能起到關鍵的作用。
lst 檔案實際是使用 objdump 反彙編 elf 檔案得到的輸出檔案,它擁有比 map 檔案更詳細的資訊。如果你的程式中加入了除錯資訊,那麼你可以在 lst 中看到每一條指令的地址。藉助 lst 檔案,同時通過檢視棧幀結構(可以通過檢視相應的手冊來確定棧幀的組成),通過在 lst 檔案中查詢 lr 的地址所在的位置,你就能立刻定位到問題。
你可以在 eclipse
下面是一個典型的命令列輸出:
Invoking: GNU ARM Cross Create Listing arm-none-eabi-objdump --source --all-headers --demangle --file-headers --line-numbers --wide "hello world.elf" > "hello world.lst" Finished building: hello world.lst
上述命令列使用 objdump 反彙編 elf 檔案,然後將結果重定向為 lst 檔案。你也可以直接使用命令列生成 lst 檔案。