调用堆栈计算

若要在中断模式下查看调用堆栈的堆栈帧,必须实现 EnumFrameInfo 方法。

计算方法

对于简单的调试引擎 (DE),可能只有一个堆栈帧。 若要在中断模式下检查堆栈帧,必须实现以下 IDebugStackFrame2 方法。

方法 说明
GetCodeContext 获取堆栈帧的代码上下文。 代码上下文表示堆栈帧中的当前指令指针。
GetDocumentContext 获取堆栈帧的文档上下文。 文档上下文表示堆栈帧在源代码中的当前位置。 当您在程序中停止时,这是查看源代码所必需的。

这些方法需要实现多个与上下文相关的接口和方法。 因此,必须实现 GetDocumentContext 方法和 IDebugDocumentContext2 的以下方法。

方法 说明
GetStatementRange 获取文档上下文的文件语句范围。

若要枚举代码上下文,必须实现 IEnumDebugCodeContexts2 的所有方法。

另请参阅