(dbgmodel.h) 的 IDataModelScriptDebugStack 接口
脚本中堆栈的接口。 脚本提供程序实现此接口以向脚本调试器公开调用堆栈的概念。
继承
IDataModelScriptDebugStack 继承自 IUnknown。
方法
IDataModelScriptDebugStack 接口包含以下方法。
IDataModelScriptDebugStack::AddRef IDataModelScriptDebugStack::AddRef 方法递增对象上接口的引用计数。 |
IDataModelScriptDebugStack::GetFrameCount GetFrameCount 方法返回调用堆栈的此段中的堆栈帧数。 |
IDataModelScriptDebugStack::GetStackFrame GetStackFrame 从堆栈段获取特定的堆栈帧。 |
IDataModelScriptDebugStack::QueryInterface IDataModelScriptDebugStack::QueryInterface 方法检索指向对象上支持的接口的指针。 |
IDataModelScriptDebugStack::Release IDataModelScriptDebugStack::Release 方法递减对象上接口的引用计数。 |
注解
当发生中断脚本调试器的事件时,调试接口需要检索中断位置的调用堆栈。 这是通过 GetStack 方法完成的。 此类堆栈通过 IDataModelScriptDebugStack 表示,定义如下所述。
请注意,整个堆栈可能跨越多个脚本和/或多个脚本提供程序。 从对特定脚本调试接口上的 GetStack 方法的单个调用返回的调用堆栈应仅返回该脚本边界内的调用堆栈段。 如果同一提供程序的两个脚本交互,脚本调试引擎完全有可能检索跨多个脚本上下文的调用堆栈。 GetStack 方法不应返回另一个脚本中的堆栈部分。 相反,如果可以检测到这种情况,作为脚本边界帧的堆栈帧应通过该堆栈帧上的 IsTransitionPoint 和 GetTransition 方法的实现将自身标记为过渡帧。 预计调试器接口会将现有多个堆栈段的整体堆栈拼凑在一起。
必须以这种方式实现转换,否则调试接口可能会将有关局部变量、参数、断点和其他特定于脚本的构造的查询定向到错误的脚本上下文。 这将导致调试器接口中出现未定义的行为。
要求
要求 | 值 |
---|---|
Header | dbgmodel.h |