Creating a coredump

コアダンプは、ある特定の時点におけるデバイスのメモリのスナップショットです。これらと ファームウェア .elf があれば、デバッグセッション中に発生する可能性のある変数解決の問題を 再現し、デバッグできます。

いつコアダンプの作成を検討すべきですか?

変数リストにおかしな点が見られるたびに、たとえば probe-rs が値の代わりにエラーを表示する ような場合です。以下の画像は、そのようなケースの一例を示しています:

未解決の変数

コアダンプを作成するにはどうすればよいですか?

まず、問題が再現される箇所でプログラムを停止してください。次に、 DEBUG CONSOLE を開き、以下を入力します:

dump <start address> <memory length> <output file path>

たとえば、0x20000000..0x20001000 の範囲のメモリをダンプするには、次のように入力します:

dump 0x20000000 0x1000 out.dump

同じファイルに保存される複数のメモリ領域を指定することもできます。以下の例では、 メモリ領域 0x00000..0x100000x20000000..0x20004000 を保存します。

dump 0 65536 0x20000000 16384 out.dump

ダンプの例

コアダンプには何を含めるべきですか?

デバイスの RAM 領域全体と、使用されているフラッシュ領域の両方を含めてください。

コアダンプを送るにはどうすればよいですか?

コアダンプと .elf に機密情報が含まれていない場合は、新しい バグレポート の一部として GitHub にそのまま投稿できます。

ファイルを非公開にしておきたい場合は、まず Matrixチャット でご相談ください!