调用堆栈计算
若要在中断模式下查看调用堆栈的堆栈帧,必须实现 EnumFrameInfo 方法。
计算方法
对于简单的调试引擎 (DE),可能只有一个堆栈帧。 若要在中断模式下检查堆栈帧,必须实现以下 IDebugStackFrame2 方法。
方法 | 说明 |
---|---|
GetCodeContext | 获取堆栈帧的代码上下文。 代码上下文表示堆栈帧中的当前指令指针。 |
GetDocumentContext | 获取堆栈帧的文档上下文。 文档上下文表示堆栈帧在源代码中的当前位置。 当您在程序中停止时,这是查看源代码所必需的。 |
这些方法需要实现多个与上下文相关的接口和方法。 因此,必须实现 GetDocumentContext 方法和 IDebugDocumentContext2 的以下方法。
方法 | 说明 |
---|---|
GetStatementRange | 获取文档上下文的文件语句范围。 |
若要枚举代码上下文,必须实现 IEnumDebugCodeContexts2 的所有方法。