デバッグにDW_AT_location属性を使用する方法について知りたいと思います。デバッグのためにdwarfによって指定された属性の1つですが、正確に何が表現されているのかを実際には理解できませんでした。また、コードをコンパイルするときにいつこの属性を生成する必要がありますか。 DWARF 3スペック(http://dwarfstd.org/doc/Dwarf3.pdf)からDW_AT_locationの使用と意味
0
A
答えて
0
:
2.16データの格納場所変数、パラメータ、共通を含むデータオブジェクトを記述する任意のデバッグ情報エントリは、ブロックがあり、 のようなものは、値が位置 (セクション2.6を参照)であるDW_AT_location属性を持つことがあります。
DW_AT_location属性の値はロケーション式です。位置式はかなり複雑ですが、詳細は上記のDWARF仕様をお読みください。要約すると、位置式は、変数の位置を示す単純なアドレス、または変数の位置を決定するためにデバッガによって実行時に評価されなければならないミニプログラムであってもよい。
理想的には、コンパイラは、プログラム内のすべてのポイントでその位置を記述する変数のロケーションリストを生成するのが理想的です。レジスタを介して変数の位置を追跡することは自明ではないので、デバッグ情報を生成する際のコンパイラの中には、変数をレジスタに移動するような最適化を無効にするものがあります。
1
第7章のDWARF 3 spec、データ表現を確認してください。
たとえば、第7章の表のDW_AT_locationの値が0x91 0x68である場合、0x91はDWARFデバッグ情報形式DW_OP_fbregを示し、0x68はSLEB128オフセットであることがわかります。実際の値:-24。
関連する問題
- 1. glPolygonOffsetのfactorパラメーターの意味と使用
- 2. 「...」の意味と 『##』
- 3. prob [range(6)、y]の使用の意味
- 4. g ++とMSVCのC++引用の意味
- 5. 閉鎖の用語と意味疑い
- 6. Oracleエラー: "ANOMALY:使用無意味REXプリフィックス"
- 7. __stdcallの意味と使用法は何ですか?
- 8. 「A」とは、AutoHotKeyを使用した場合の意味です。
- 9. ドットとドットドットの意味
- 10. の意味と挿入文
- 11. refresh_ceの意味と由来
- 12. MAX_USER_CONNECTIONSエラーの意味と
- 13. SODとSOXの意味は?
- 14. 「ODRを使用する」とは何を意味しますか?
- 15. Pattern.LITERALを使用してもPattern.quoteと同じ意味ですか?
- 16. 意味
- 17. 意味
- 18. 意味
- 19. 意味
- 20. 意味
- 21. 意味
- 22. ``?( '')??? `の意味は?
- 23. SEQUENCE_NEXT_HI_VALUEの意味
- 24. "スレッドダンプ"の意味
- 25. setContextClassLoaderの意味
- 26. :/ =%%の意味:/ =%?
- 27. jqueryの意味
- 28. `/ * @ 'の意味は?
- 29. ステートメントの意味
- 30. 式の意味
このsleb128オフセットは正確には何ですか?なぜそんなに複雑ではなく、単に-24? – stackoverflowwww