IDataModelScriptDebug::GetCurrentPosition 方法 (dbgmodel.h)

GetCurrentPosition 的 方法返回脚本中的当前位置。 仅当脚本被分解为调试器,其中对 GetScriptState 的调用将返回 ScriptDebugBreak 时,才能调用此脚本。 对此方法的任何其他调用都无效,将失败。

脚本的位置定义为字符范围。 必须始终 (行号和列号) 返回范围的开头。 如果特定调试器能够返回脚本中“当前位置”的完整范围,则可以选择在 positionSpanEnd 参数中返回结束位置。 如果调试器无法执行此操作,则范围末尾 (的行值和列值(如果请求) )应设置为零。

如果调试器可以传递调试器损坏的代码行的源代码,则它可能会从此方法返回此类代码。 如果可能,强烈建议提供此信息。 但是,不要求返回比中断位置的起始行和列更多的信息。 如果不支持源行信息,可能会为该参数返回 nullptr 值。

语法

HRESULT GetCurrentPosition(
  ScriptDebugPosition *currentPosition,
  ScriptDebugPosition *positionSpanEnd,
  BSTR                *lineText
);

参数

currentPosition

必须在此处返回脚本的当前中断位置。 返回结构的“行”和“列”字段基于 1。 中的零值表示信息不可用。

positionSpanEnd

如果调试器能够确定中断位置的完整范围,则可以在此处返回范围的结束位置。 否则,零值应填充到返回结构的“行”和“列”字段中。

lineText

如果调试器能够返回行 (或中断的跨度) 的源代码,则可以在此处以 SysAllocString 函数分配的字符串的形式返回此类代码。 调用方负责使用 SysFreeString 释放返回的字符串。 如果调试器无法生成此源信息,则应返回 nullptr。

返回值

此方法返回指示成功或失败的 HRESULT。

要求

要求
Header dbgmodel.h

另请参阅

IDataModelScriptDebug 接口