1

私はvalgrindの新しいツールを開発しています。このツールでは、開始アドレスとグローバル配列のサイズを取得するために、ある時点でドワーフのデバッグ情報を読み取りたいと考えています。

この情報がdwarf3デバッグ情報の.debug_infoセクションに含まれていることを知っています。

derictory / valgrind / coregrind / m_debuginfoには、57行目にfuncがあるヘッダーファイルpriv_readdwarf3.hがあります。

    /* Read variables and types from DWARF3 ".debug_info" sections. */
    extern void ML_(read_debuginfo_dwarf3)(

    struct _DebugInfo* di,
    UChar* debug_info_img,   SizeT debug_info_sz,
    UChar* debug_types_img,  SizeT debug_types_sz,
    UChar* debug_abbv_img,   SizeT debug_abbv_sz,
    UChar* debug_line_img,   SizeT debug_line_sz,
    UChar* debug_str_img,    SizeT debug_str_sz,
    UChar* debug_ranges_img, SizeT debug_ranges_sz,
    UChar* debug_loc_img,    SizeT debug_loc_sz,
    UChar* debug_info_alt_img, SizeT debug_info_alt_sz,
    UChar* debug_abbv_alt_img, SizeT debug_abbv_alt_sz,
    UChar* debug_line_alt_img, SizeT debug_line_alt_sz,
    UChar* debug_str_alt_img,  SizeT debug_str_alt_sz
    );

しかし、私はこの関数の使い方を理解できません。

助けていただければ幸いです。よろしくお願いします。

4

1 に答える 1

0

現在、ヘッダーで宣言されているルーチンはpriv_ツールで使用できません。ヘッダーファイル内のルーチンのみがpub_tool_コア/ツールインターフェイスの一部です。

pub_tool_debuginfo.hヘッダーは情報をデバッグするためのインターフェースであり、関数VG_(get_data_description)はアドレスに関連付けられた変数(存在する場合)に関する情報を取得するために使用するものです。変数情報をロードする場合は、ツールがルーチンVG_(needs_var_info)から呼び出す必要があることに注意してください。clo_init

ライティングツールについて質問するのに最適な場所は、おそらくvalgrind-developersメーリングリストです。

于 2012-12-05T22:55:16.280 に答える