2017-08-16 2 views
0

私は変数をa2lファイルに追加するツールを書いています。入力はelfファイルです。 コンパイル単位(CU)に変数があるかどうかを調べるには、変数を満たすまですべてのCUを検索する必要があります。 SWが非常に大きいので、変数を見つけるのに時間がかかります。 変数がどのCUに定義されているかを知る方法があれば教えてください。elfファイルで、変数が定義されているコンパイル単位を見つける方法を教えてください。

答えて

0

DWARF標準はグローバルオブジェクトや関数の名前とオフセット変換を提供任意部、.debug_pubnamesを含みます。

もう1つの方法は、シンボルテーブルを使用することです。変数にエントリがある場合は、オプションの.debug_arangesセクションのアドレスを使用することができます。そうでない場合は、DW_TAG_compile_unitをすべて読んで、アドレス範囲の範囲を探してください。

関連する問題