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结构具有有效的数据,大概是通过调用 SymGetLineFromAddr64SymGetLineFromName64 函数获取的。 此结构按顺序填充了上一行的行信息。

此函数返回指向另一个函数可能重复使用的缓冲区的指针。 因此,请务必立即将返回的数据复制到另一个缓冲区。

所有 DbgHelp 函数(例如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将多个线程中的所有并发调用同步到此函数。

若要调用此函数的 Unicode 版本,请定义 DBGHELP_TRANSLATE_TCHAR。 DbgHelp.h 中的 SymGetLinePrevW64 定义如下。

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

#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymGetLinePrev64    SymGetLinePrevW64
#endif

此函数取代 SymGetLinePrev 函数。 有关详细信息,请参阅 更新的平台支持。 DbgHelp.h 中的 SymGetLinePrev 定义如下。

#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