DkmStackWalkContext.RuntimeWalkNextFrames 方法

定义

重载

RuntimeWalkNextFrames(DkmWorkList, UInt32, DkmCompletionRoutine<DkmRuntimeWalkNextFramesAsyncResult>)

尝试在不使用符号的情况下遍历堆栈。 这将调入各种组件,这些组件知道如何演练部分堆栈 (例如: clr 帧将遍历 CLR 调试监视器) 。 不能遍历堆栈的部分的 "未解析的" 框架,也不会在符号文件中存储信息。 这些 "未解析的" 帧没有 InstructionAddress 或说明。

此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 向调用方发送请求完成后,将收到通过完成例程的通知。

RuntimeWalkNextFrames(UInt32, Boolean)

尝试在不使用符号的情况下遍历堆栈。 这将调入各种组件,这些组件知道如何演练部分堆栈 (例如: clr 帧将遍历 CLR 调试监视器) 。 不能遍历堆栈的部分的 "未解析的" 框架,也不会在符号文件中存储信息。 这些 "未解析的" 帧没有 InstructionAddress 或说明。

RuntimeWalkNextFrames(DkmWorkList, UInt32, DkmCompletionRoutine<DkmRuntimeWalkNextFramesAsyncResult>)

尝试在不使用符号的情况下遍历堆栈。 这将调入各种组件,这些组件知道如何演练部分堆栈 (例如: clr 帧将遍历 CLR 调试监视器) 。 不能遍历堆栈的部分的 "未解析的" 框架,也不会在符号文件中存储信息。 这些 "未解析的" 帧没有 InstructionAddress 或说明。

此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 向调用方发送请求完成后,将收到通过完成例程的通知。

public:
 void RuntimeWalkNextFrames(Microsoft::VisualStudio::Debugger::DkmWorkList ^ WorkList, System::UInt32 RequestSizeHint, Microsoft::VisualStudio::Debugger::DkmCompletionRoutine<Microsoft::VisualStudio::Debugger::CallStack::DkmRuntimeWalkNextFramesAsyncResult> ^ CompletionRoutine);
public void RuntimeWalkNextFrames (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, uint RequestSizeHint, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.CallStack.DkmRuntimeWalkNextFramesAsyncResult> CompletionRoutine);
member this.RuntimeWalkNextFrames : Microsoft.VisualStudio.Debugger.DkmWorkList * uint32 * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.CallStack.DkmRuntimeWalkNextFramesAsyncResult> -> unit
Public Sub RuntimeWalkNextFrames (WorkList As DkmWorkList, RequestSizeHint As UInteger, CompletionRoutine As DkmCompletionRoutine(Of DkmRuntimeWalkNextFramesAsyncResult))

参数

WorkList
DkmWorkList

要将新工作项追加到的工作项。

RequestSizeHint
UInt32

中RequestSizeHint 是调用方所需的帧数的提示。 此值被视为提示,因为此 API 可以返回尚未遍历的帧,因此此 API 返回的值可能大于或小于提示值。

CompletionRoutine
DkmCompletionRoutine<DkmRuntimeWalkNextFramesAsyncResult>

请求完成时要触发的例程。 如果请求成功追加到工作列表中,则将始终激发 (包括) 取消操作时。 如果追加工作项失败,此操作永远不会激发。

适用于

RuntimeWalkNextFrames(UInt32, Boolean)

尝试在不使用符号的情况下遍历堆栈。 这将调入各种组件,这些组件知道如何演练部分堆栈 (例如: clr 帧将遍历 CLR 调试监视器) 。 不能遍历堆栈的部分的 "未解析的" 框架,也不会在符号文件中存储信息。 这些 "未解析的" 帧没有 InstructionAddress 或说明。

public:
 cli::array <Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame ^> ^ RuntimeWalkNextFrames(System::UInt32 RequestSizeHint, [Runtime::InteropServices::Out] bool % EndOfStack);
public Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[] RuntimeWalkNextFrames (uint RequestSizeHint, out bool EndOfStack);
member this.RuntimeWalkNextFrames : uint32 * bool -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[]
Public Function RuntimeWalkNextFrames (RequestSizeHint As UInteger, ByRef EndOfStack As Boolean) As DkmStackWalkFrame()

参数

RequestSizeHint
UInt32

中RequestSizeHint 是调用方所需的帧数的提示。 此值被视为提示,因为此 API 可以返回尚未遍历的帧,因此此 API 返回的值可能大于或小于提示值。

EndOfStack
Boolean

弄如果监视器到达堆栈的末尾,则返回 true。

返回

DkmStackWalkFrame[]

弄遍历帧的数组。 对于,未解析的帧,InstructionAddress 和 Description 都将为 null。

适用于