問題描述
如何找出軟件掛起的原因?(qemu + zephyr + tfm 的問題) (How to find out the cause of hanging software? (problem with qemu + zephyr + tfm))
我正在 qemu 上執行一個 arm elf (zephyr os + tfm) 並讓它運行一些測試。不幸的是,它在某個點停止,沒有錯誤消息或警告。我也嘗試過使用 GDB,但在某個時候,它就停止了。對於同一版本,它總是在同一點停止(如果我添加一些調試打印,它會提前或稍後停止)。我認為有一些掛起的中斷根本沒有被捕獲......老實說不知道。
因此,我的問題:如何找出掛起軟件的原因?或者,我怎樣才能檢查哪個中斷已經上升以停止正常執行?
參考解法
方法 1:
For future reference TF‑M
has an option to enable an exception info dump print in case of faults. I would start enabling that by setting the following define in the cmake
config step: ‑DTFM_EXCEPTION_INFO_DUMP=True
(by Antonio Ken Iannillo、ad3angel1s)