これは私が時々遭遇する状況です:
仮想アドレッシングを使用しない組み込みシステムの場合、C または C++ コードからデバッグ情報を含めてコンパイルされた実行可能ファイルがあります。通常、COFF または ELF/DWARF (これら 2 つを混同しています) 形式です。
実行時に、PC で、名前が指定された変数のアドレスを特定したいと考えています。(例:「foo.bar [7] .baz」)これにより、組み込みシステムで変数の値を読み書きできます(この質問の範囲を超えるデバッグプロトコルが与えられます)。明らかに、スタックベースまたはヒープベースの変数は静的アドレスを持っていないため、アウトです。
TI の 2800 シリーズ DSP 用に TI のコンパイラから COFF ファイルを解析するために、C++ でこれを行う前に、これを行ったことがあります。1 つまたは 2 つの他のプロセッサの実行可能ファイルで同じ問題に直面しているため、このようなことを行う Java ライブラリが既に存在するかどうか疑問に思っていました。
更新: (2009 年 11 月 18 日) 有望な手がかりです!
Eclipse CDT ELF パーサーを使用した人はいますか?
( http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.cdt.doc.isv/reference/api/org/eclipse/cdt/core/model/IBinary.htmlを参照) javadoc pgs の
TI の Code Composer 4 (Eclipse ベース) はこれを使用しているようです。そのため、ドキュメントがどこにあるかがわかれば、それを使用して問題を解決できるようです。