用于从堆栈转储和.elf文件中提取FreeRTOS/ARM/ c++堆栈跟踪的工具



我有一个运行FreeRTOS的ARM Cortex-M4嵌入式系统。我实现了一个崩溃日志转储机制,在发生致命错误(如除零、空指针、地址错误、无效指令或断言)时将文件写入存储设备。在这个文件中,除其他事项外,我还写了异常发生时堆栈的内容。

该系统捕获现场发生的崩溃,因此其想法是分析返回给我的崩溃,并尽可能确定问题的根源。我可以很容易地将日志连接到编译该版本代码时生成的.elf。我只需要一种解析它的方法。

我认为已经有工具可以做到这一点(我不可能是第一个这样做的人),但是我在the Series of Tubes(tm)上找不到符合要求的东西。

是否有一个好的起点来创建一个工具,它可以从编译中解析.elf并遵循堆栈转储来创建这样的报告?

为了其他有这个问题的人的利益,下面是我正在做的:

Google有一个叫做breakpad的工具,可以解析。elf和"minidump"格式的崩溃日志文件,这最初是由微软创建的,并被Google改编为Chrome。

我正在编写一个工具来将我的堆栈跟踪转换为minidump格式,希望使用breakpad工具来分析我的崩溃日志。

breakpad的链接:https://github.com/google/breakpad/blob/master/docs/getting_started_with_breakpad.md

最新更新