私は STM32 プロセッサに取り組んでいます。readelf -w を使用すると、elf ファイルから大量のデバッグ情報を抽出できました。出力の短い部分を以下に示します。
<1><3faf>: Abbrev Number: 30 (DW_TAG_variable)
<3fb0> DW_AT_name : (indirect string, offset: 0x24e): ITM_RxBuffer
<3fb4> DW_AT_decl_file : 19
<3fb5> DW_AT_decl_line : 1742
<3fb7> DW_AT_type : <0x3f48>
<3fbb> DW_AT_external : 1
<3fbc> DW_AT_declaration : 1
dwarfdump は、デバッグ情報が elf ファイルで利用可能であることも確認します。
次のソフトウェア パッケージを使用しています: Eclipse Juno arm-2011.03/bin/arm-none-eabi-gdb OpenOCD および JTAG キー
elf ファイルを生成したら、それを STM32 プロセッサに焼き付け、Eclipse でデバッグ セッションを開始します。JTAG は起動と停止ができたので、OpenOCD デーモンで問題ないと思います。「シンボルテーブルがロードされていません」という事実のため、ブレークポイントを設定できません。私が気付いたのは、「変数/ブレークポイント/レジスタ/モジュール」ウィンドウの中で、ロードされたelfファイルを示すモジュールタブに次の詳細が含まれていることです: タイプ: 実行可能シンボル: ロードされていないシンボルファイル: BuildResult.elf
デバッグ構成->スタートアップタブで、「イメージの読み込み/シンボルの読み込み」をチェック/チェック解除しても違いはありません。eclipse が elf ファイルに含まれるシンボル情報をどのようにデバッグ プロセスにロードするのか疑問に思っています。
提案、ヒントは大歓迎です。