次の方法で共有


IDataModelScriptDebugStack インターフェイス (dbgmodel.h)

スクリプト内のスタックへのインターフェイス。 スクリプト プロバイダーは、このインターフェイスを実装して、呼び出し履歴の概念をスクリプト デバッガーに公開します。

継承

IDataModelScriptDebugStack は IUnknown から継承されます。

メソッド

IDataModelScriptDebugStack インターフェイスには、これらのメソッドがあります。

 
IDataModelScriptDebugStack::AddRef

IDataModelScriptDebugStack::AddRef メソッドは、オブジェクトのインターフェイスの参照カウントをインクリメントします。
IDataModelScriptDebugStack::GetFrameCount

GetFrameCount メソッドは、呼び出し履歴のこのセグメント内のスタック フレームの数を返します。
IDataModelScriptDebugStack::GetStackFrame

GetStackFrame は、スタック セグメントから特定のスタック フレームを取得します。
IDataModelScriptDebugStack::QueryInterface

IDataModelScriptDebugStack::QueryInterface メソッドは、オブジェクトでサポートされているインターフェイスへのポインターを取得します。
IDataModelScriptDebugStack::Release

IDataModelScriptDebugStack::Release メソッドは、オブジェクト上のインターフェイスの参照カウントをデクリメントします。

注釈

スクリプト デバッガーに中断するイベントが発生すると、デバッグ インターフェイスは中断場所の呼び出し履歴を取得します。 これは、GetStack メソッドを使用して行われます。 このようなスタックは、次に示すように定義されている IDataModelScriptDebugStack を使用して表されます。

スタック全体が複数のスクリプトや複数のスクリプト プロバイダーにまたがる場合があることに注意してください。 特定のスクリプトのデバッグ インターフェイスで GetStack メソッドの 1 回の呼び出しから返される呼び出し履歴は、そのスクリプトの境界内の呼び出し履歴のセグメントのみを返す必要があります。 同じプロバイダーの 2 つのスクリプトが対話する場合、スクリプト デバッグ エンジンが複数のスクリプト コンテキストにまたがるように呼び出し履歴を取得できる可能性があります。 GetStack メソッドは、別のスクリプトにあるスタックの部分を返さないでください。 代わりに、この状況を検出できる場合、スクリプトの境界フレームであるスタック フレームは、そのスタック フレーム上の IsTransitionPoint メソッドと GetTransition メソッドの実装を介して、自身を遷移フレームとしてマークする必要があります。 デバッガー インターフェイスは、存在する複数のスタック セグメントからスタック全体をつなぎ合わせる必要があります。

この方法で遷移を実装するか、デバッグ インターフェイスでローカル変数、パラメーター、ブレークポイント、およびその他のスクリプト固有のコンストラクトに関する問い合わせを間違ったスクリプト コンテキストに誘導することが不可欠です。 これにより、デバッガー インターフェイスで未定義の動作が発生します。

要件

要件
Header dbgmodel.h

こちらもご覧ください

Debugger Data Model C++ の概要