Mbed 代码在下面抛出故障转储,我希望找到与给定 PC 对应的行。不过我在 Windows 上,所以简单的“addr2line”不可用。我在 Windows 上尝试使用 Ubuntu shell addr2line,但它给出了 ??:?
在 Windows 10 上从 ARM ELF 执行地址到行解析的最佳工具是什么?
++ MbedOS Fault Handler ++
FaultType: HardFault
Context:
R0: 0
R1: 2000A0C8
R2: 1
R3: 14
R4: 20007854
R5: 2000A0
R6: 68
R7: 0
R8: 0
R9: 0
R10: 0
R11: 0
R12: 29FC1
SP : 2000A8B8
LR : 2C007
PC : 2000A0C8
xPSR : 0
PSP : 2000A898
MSP : 2003FFC0
CPUID: 410FC241
HFSR : 40000000
MMFSR: 0
BFSR : 0
UFSR : 2
DFSR : 0
AFSR : 0
Mode : Thread
Priv : Privileged
Stack: PSP
-- MbedOS Fault Handler --
Mbed OS 中的崩溃日志解析器脚本 (https://github.com/ARMmbed/mbed-os/tree/master/tools/debug_tools/crash_log_parser) 采用崩溃转储和 ELF 文件,实际上会告诉崩溃位置(加上一些关于实际错误的有用提示)。