IDataModelScriptDebug2::GetCurrentPosition 方法 (dbgmodel.h)
GetCurrentPosition 的方法返回脚本中的当前位置。 仅当脚本被分解为调试器时,才会调用 GetScriptState 将返回 ScriptDebugBreak。 对此方法的任何其他调用都无效,并且将失败。
脚本的位置定义为字符范围。 必须始终返回范围开始(行号和列号)。 如果特定调试器能够返回脚本中“当前位置”的完整范围,则可以选择在 positionSpanEnd 参数中返回结束位置。 如果调试器无法执行此作,范围末尾的行和列值(如果请求)应设置为零。
如果调试器可以传递调试器中断的代码行的源代码,它可能会从此方法返回此类代码。 如果可能,强烈建议提供此信息。 但是,不需要返回中断位置的起始行和列以外的任何信息。 如果不支持源行信息,可能会为该参数返回 nullptr 值。
语法
HRESULT GetCurrentPosition(
ScriptDebugPosition *currentPosition,
ScriptDebugPosition *positionSpanEnd,
BSTR *lineText
);
参数
currentPosition
必须在此处返回脚本的当前中断位置。 返回结构的“行”和“列”字段基于一个。 任一中的零值表示信息不可用。
positionSpanEnd
如果调试器能够确定中断位置的完整跨度,则可以在此处返回范围的结束位置。 否则,应将零值填充到返回结构的“行”和“列”字段中。
lineText
如果调试器能够返回中断的行(或范围)的源代码,则可以在此处返回为 SysAllocString 函数分配的字符串。 调用方负责使用 SysFreeString 释放返回的字符串。 如果调试器无法生成此源信息,则应返回 nullptr。
返回值
此方法返回指示成功或失败的 HRESULT。
要求
要求 | 价值 |
---|---|
标头 | dbgmodel.h |