私はFreeRTOSを実行しているARM Cortex-M4組み込みシステムを持っています。私は、ゼロ除算、ヌルポインタ、アドレスエラー、無効な命令、またはアサーションなどの致命的なエラーが発生した場合に、ストレージデバイスにファイルを書き込むクラッシュログダンプメカニズムを実装しました。このファイルでは、とりわけ例外時のスタックの内容を書きます。スタックダンプと.elfファイルからFreeRTOS/ARM/C++スタックトレースを抽出するためのツールはありますか?
このシステムは、フィールドで発生するクラッシュをキャプチャするので、私に返されるクラッシュを分析し、できる限り問題の原因を特定することが考えられます。そのバージョンのコードがコンパイルされたときに生成された.elfにログを簡単に接続できます。私はそれを解析する方法が必要です。
私はこれを行うことができるツールがすでにあると思いますが、これは法案に適合するThe Series of Tubes(tm)で何かを見つけるのに問題があります。
コンパイルから.elfを解析し、そのようなレポートを作成するスタックダンプに従うツールを作成するのに適した出発点がありますか?
Googleはもともと「ミニダンプ」形式では.elfとcrashlogファイルを解析することができます「breakpad」と呼ばれるツールがあります。この問題と他の誰の利益のために
は、ビルドのデバッグ情報とstripされていないELFファイルを持っていますか?さもなければ、関数名よりもはるかに多くの関数名を得ることはできません(記号があれば、それはまったくありません)。 –
はい、私はビルドプロセスを制御していますので、これは可能です。私。このソリューションには、追加のビルドステップとデータ収集が含まれる場合があります。 –