次の方法で共有


SymGetLinePrev 関数 (dbghelp.h)

前のソース行の行情報を取得します。

構文

BOOL IMAGEAPI SymGetLinePrev(
  [in]      HANDLE         hProcess,
  [in, out] PIMAGEHLP_LINE Line
);

パラメーター

[in] hProcess

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

[in, out] Line

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

戻り値

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

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

注釈

SymGetLinePrev64 関数では、IMAGEHLP_LINE64構造体に有効なデータが必要です。これは、SymGetLineFromAddr64 関数または SymGetLineFromName64 関数の呼び出しから取得される可能性があります。 この構造体には、前の行の行情報が順番に入力されます。

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

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

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

BOOL
IMAGEAPI
SymGetLinePrevW64(
    __in HANDLE hProcess,
    __inout PIMAGEHLP_LINEW64 Line
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymGetLinePrev64    SymGetLinePrevW64
#endif

この関数は SymGetLinePrev 関数よりも 優先されます。 詳細については、「 プラットフォーム サポートの更新」を参照してください。 SymGetLinePrev は、DbgHelp.h で次のように定義されています。

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetLinePrev SymGetLinePrev64
#else
BOOL
IMAGEAPI
SymGetLinePrev(
    __in HANDLE hProcess,
    __inout PIMAGEHLP_LINE Line
    );

BOOL
IMAGEAPI
SymGetLinePrevW(
    __in HANDLE hProcess,
    __inout PIMAGEHLP_LINEW Line
    );
#endif

要件

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

こちらもご覧ください

DbgHelp 関数

IMAGEHLP_LINE64

SymGetLineFromAddr64

SymGetLineFromName64

SymGetLineNext64

SymInitialize