次の方法で共有


IDataModelScriptDebugStackFrame::GetPosition メソッド (dbgmodel.h)

GetPosition メソッドは、スタック フレームによって表されるスクリプト内の位置を返します。 このメソッドは、スクリプトがこのフレームが含まれているスタックによって表される中断内にある場合にのみ呼び出すことができます。 このフレーム内の行と列の位置は常に返されます。 デバッガーがスクリプト内の "実行位置" のスパンを返すことができる場合は、positionSpanEnd 引数で終了位置を返すことができます。 デバッガーがこれに対応していない場合は、スパンの末尾の行と列の値 (要求された場合) を 0 に設定する必要があります。

このフレームを表すテキスト行 (またはテキストのスパン) は、必要に応じて、それをサポートするデバッガーによって返すことができます。 スクリプト デバッガーは、このテキストを返すすべての試行を行うことを強くお勧めしますが、このようなデバッガーは、フレームの行と列の位置よりも多くを返す必要はありません。 戻りテキストがサポートされていない場合は、lineText 引数で nullptr を返すことができます。

構文

HRESULT GetPosition(
  ScriptDebugPosition *position,
  ScriptDebugPosition *positionSpanEnd,
  BSTR                *lineText
);

パラメーター

position

デバッガーは、この引数のフレームの行と列の位置を入力する必要があります。

positionSpanEnd

呼び出し元は、必要に応じて、nullptr 以外の値をここで渡すことによって、このスタック フレームを表すテキストのスパンの末尾を要求できます。 デバッガーがこのような要求をサポートできる場合は、ここで行と列の位置を返します。それ以外の場合、データ構造の [行] フィールドと [列] フィールドは、値を決定できないことを示す 0 に設定する必要があります。

lineText

呼び出し元は、必要に応じて、フレーム位置を表すソース コード (またはスパン) の行を要求できます。 デバッガーがこれを返すことができる場合は、SysAllocString 関数によって割り当てられた文字列など、ここで を返す必要があります。 呼び出し元は、SysFreeString を使用して割り当てられた文字列を解放する役割を担います。 デバッガーがこれを返さない場合は、ここで nullptr を返す必要があります。

戻り値

このメソッドは、成功または失敗を示す HRESULT を返します。

要件

要件
Header dbgmodel.h

こちらもご覧ください

IDataModelScriptDebugStackFrame インターフェイス