GetPosition メソッドは、スタック フレームによって表されるスクリプト内の位置を返します。 このメソッドは、スクリプトがこのフレームが含まれているスタックによって表される中断内にある場合にのみ呼び出されます。 このフレーム内の行と列の位置は常に返されます。 デバッガーがスクリプト内の "実行位置" のスパンを返すことができる場合は、positionSpanEnd 引数で終了位置を返すことができます。 デバッガーがこれを実行できない場合は、スパン エンドの行と列の値 (要求された場合) を 0 に設定する必要があります。
このフレームを表すテキスト行 (またはテキストのスパン) は、必要に応じて、それをサポートするデバッガーによって返すことができます。 スクリプト デバッガーは、このテキストを返すすべての試行を行うことを強くお勧めしますが、このようなデバッガーは、フレームの行と列の位置よりも多くを返す必要はありません。 戻りテキストがサポートされていない場合は、lineText 引数で nullptr を返すことができます。
構文
HRESULT GetPosition(
ScriptDebugPosition *position,
ScriptDebugPosition *positionSpanEnd,
BSTR *lineText
);
パラメーター
position
デバッガーは、この引数のフレームの行と列の位置を入力する必要があります。
positionSpanEnd
呼び出し元は必要に応じて、nullptr 以外の値をここで渡すことによって、このスタック フレームを表すテキストのスパンの末尾を要求できます。 デバッガーがこのような要求をサポートできる場合は、ここで行と列の位置を返します。それ以外の場合は、データ構造の [行] フィールドと [列] フィールドを 0 に設定し、値を決定できないことを示す必要があります。
lineText
呼び出し元は、必要に応じて、フレーム位置を表すソース コード (またはスパン) の行を要求できます。 デバッガーがこれを返す場合は、SysAllocString 関数によって割り当てられた文字列など、ここで返す必要があります。 呼び出し元は、SysFreeString で割り当てられた文字列を解放する必要があります。 デバッガーがこれを返さない場合は、ここで nullptr を返す必要があります。
戻り値
このメソッドは、成功または失敗を示す HRESULT を返します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | dbgmodel.h |
関連項目
IDataModelScriptDebugStackFrame インターフェイス の