2016-11-17 72 views
1

我有一个运行FreeRTOS的ARM Cortex-M4嵌入式系统。我实现了一个崩溃日志转储机制,在发生致命错误时(例如除零,空指针,地址错误,无效指令或断言),将文件写入存储设备。在这个文件中,除了别的以外,我还写了异常时堆栈的内容。从堆栈转储和.elf文件中提取FreeRTOS/ARM/C++堆栈跟踪的工具?

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

我想有些工具可以做到这一点(我不能成为第一个这样做),但是我很难找到适合该法案的管系列(tm)上的东西。

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

+0

你有与构建调试信息的剥开ELF文件?否则,你不太可能从中得到比功能名称更多的东西(如果你有它的符号的话)。 –

+0

是的,我有,并且我可以控制构建过程,所以我可以添加任何需要的东西这可能。即该解决方案可以包含额外的构建步骤以及数据收集。 –

回答

0

为别人这个问题的好处,这里是我在做什么:

谷歌有一个名为“breakpad”可以解析.elf和系统崩溃日志文件中的“转储”格式的工具,这原本是由微软创建并由Google for Chrome改编。

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

这里有一个链接到breakpad:https://github.com/google/breakpad/blob/master/docs/getting_started_with_breakpad.md