RtlCaptureStackBackTrace 函数 (winnt.h)

RtlCaptureStackBackTrace 例程通过向上浏览堆栈并记录每个帧的信息来捕获堆栈回溯。

语法

NTSYSAPI WORD RtlCaptureStackBackTrace(
  [in]            DWORD  FramesToSkip,
  [in]            DWORD  FramesToCapture,
  [out]           PVOID  *BackTrace,
  [out, optional] PDWORD BackTraceHash
);

参数

[in] FramesToSkip

要从回溯跟踪的开头跳过的帧数。

[in] FramesToCapture

要捕获的帧数。

[out] BackTrace

从当前堆栈跟踪捕获的指针数组。

[out, optional] BackTraceHash

可用于组织哈希表的可选值。 如果此参数为 NULL,则不计算哈希值。

此值是根据 BackTrace 数组中返回的指针的值计算的。 两个相同的堆栈跟踪将生成相同的哈希值。

返回值

捕获的帧数。

要求

   
最低受支持的客户端 从 Windows XP 开始提供。
目标平台 通用
标头 winnt.h (包括 Ntifs.h、FltKernel.h)
Library NtosKrnl.lib;Windows 10 上的 OneCoreUAP.lib
DLL NtDll.dll (用户模式) ;NtosKrnl.exe (内核模式)
IRQL <= DISPATCH_LEVEL