次の方法で共有


SymGetLineFromInlineContext 関数 (dbghelp.h)

指定したインライン コンテキストのソース行を検索します。

構文

BOOL IMAGEAPI SymGetLineFromInlineContext(
  [in]           HANDLE           hProcess,
  [in]           DWORD64          qwAddr,
  [in]           ULONG            InlineContext,
  [in, optional] DWORD64          qwModuleBaseAddress,
  [out]          PDWORD           pdwDisplacement,
  [out]          PIMAGEHLP_LINE64 Line64
);

パラメーター

[in] hProcess

SymInitialize 関数に最初に渡されたプロセスのハンドル。

[in] qwAddr

行を配置する必要があるアドレス。 アドレスを行境界に置く必要はありません。 アドレスが行の先頭の後、行の末尾の前に表示される場合は、行が見つかります。

[in] InlineContext

インライン コンテキスト。

[in, optional] qwModuleBaseAddress

モジュールのベース アドレス。

[out] pdwDisplacement

行の先頭からの変位 (バイト単位)、または 0。

[out] Line64

IMAGEHLP_LINE64構造体へのポインター。

戻り値

関数が成功した場合、戻り値は TRUE になります

関数が失敗した場合、戻り値は FALSE になります。 拡張エラー情報を取得するには、 GetLastError を呼び出します。

解説

呼び出し元はSymGetLineFromInlineContext を呼び出す前に、Line バッファーを適切に割り当て、IMAGEHLP_LINE64 構造体の必要なメンバーを入力する必要があります。

この関数は、別の関数で再利用できるバッファーへのポインターを返します。 そのため、返されたデータをすぐに別のバッファーにコピーしてください。

この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。

この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義 しますSymGetLineFromInlineContext は、Dbghelp.h で次のように定義されています。

BOOL
IMAGEAPI
SymGetLineFromInlineContextW(
    _In_ HANDLE hProcess,
    _In_ DWORD64 dwAddr,
    _In_ ULONG InlineContext,
    _In_opt_ DWORD64 qwModuleBaseAddress,
    _Out_ PDWORD pdwDisplacement,
    _Out_ PIMAGEHLP_LINEW64 Line
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
 #define SymGetLineFromInlineContext SymGetLineFromInlineContextW
#endif

要件

   
対象プラットフォーム Windows
ヘッダー dbghelp.h
Library DbgHelp.lib
[DLL] DbgHelp.dll
再頒布可能パッケージ DbgHelp.dll 6.2 以降