SymGetLineFromInlineContextW 函数 (dbghelp.h)
找到指定内联上下文的源行。
语法
BOOL IMAGEAPI SymGetLineFromInlineContextW(
[in] HANDLE hProcess,
[in] DWORD64 dwAddr,
[in] ULONG InlineContext,
[in, optional] DWORD64 qwModuleBaseAddress,
[out] PDWORD pdwDisplacement,
[out] PIMAGEHLP_LINEW64 Line
);
参数
[in] hProcess
最初传递给 SymInitialize 函数的进程句柄。
[in] dwAddr
应为其定位行的地址。 地址不必位于线条边界上。 如果地址出现在行的开头和行尾之前,则找到该行。
[in] InlineContext
内联上下文。
[in, optional] qwModuleBaseAddress
模块的基址。
[out] pdwDisplacement
行开头的位移(以字节为单位)或零。
[out] Line
指向 IMAGEHLP_LINE64 结构的指针。
返回值
如果函数成功,则返回值 TRUE。
如果函数失败,则返回值 FALSE。 若要检索扩展的错误信息,请调用 GetLastError。
言论
调用方必须在调用 SymGetLineFromInlineContext之前正确分配 行 缓冲区,并填写 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
注意
dbghelp.h 标头将 SymGetLineFromInlineContext 定义为基于 UNICODE 预处理器常量定义自动选择此函数的 ANSI 或 Unicode 版本的别名。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | dbghelp.h |
库 | DbgHelp.lib |
DLL | DbgHelp.dll |
可再发行组件 | DbgHelp.dll 6.2 或更高版本 |