IDataModelScriptDebug::GetCurrentPosition 方法 (dbgmodel.h)
GetCurrentPosition 的 方法會傳回腳本中的目前位置。 只有當腳本中斷至調試程式時,才能呼叫 GetScriptState 會傳回 ScriptDebugBreak。 任何其他對此方法的呼叫都無效,而且會失敗。
腳本的位置定義為字元範圍。 必須一律傳回範圍開頭(行號和數據行編號)。 如果特定調試程式能夠傳回腳本中「目前位置」的完整範圍,則可以選擇性地在positionSpanEnd自變數中傳回結束位置。 如果調試程式無法達到此目的,則範圍結尾中的行和數據行值應該設定為零。
如果調試程式可以傳遞調試程式中斷之程式代碼行的原始程式碼,它可能會從這個方法傳回這類程序代碼。 如果可能的話,強烈建議提供這項資訊。 不過,不需要傳回中斷位置的起始行和數據行以外的任何資訊。 如果不支援源行資訊,可能會傳回該自變數的 Nullptr 值。
語法
HRESULT GetCurrentPosition(
ScriptDebugPosition *currentPosition,
ScriptDebugPosition *positionSpanEnd,
BSTR *lineText
);
參數
currentPosition
腳本目前的中斷位置必須在這裡傳回。 傳回結構的Line和Column欄位是以一個為基礎。 其中一個零值表示信息無法使用。
positionSpanEnd
如果調試程式能夠判斷中斷位置的完整範圍,則可以在這裡傳回範圍的結束位置。 如果沒有,則應該將零值填入傳回結構的Line和Column字段。
lineText
如果調試程式能夠傳回中斷行(或範圍)的原始程式碼,則可以在這裡傳回為 SysAllocString 函式設定的字串。 呼叫端負責使用 SysFreeString 釋放傳回的字串。 如果調試程式無法產生此來源資訊,則應該傳回 nullptr。
傳回值
此方法會傳回表示成功或失敗的 HRESULT。
要求
要求 | 價值 |
---|---|
標頭 | dbgmodel.h |