2016-11-17 73 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