IDiaEnumStackFrames
使用可能なさまざまなスタック フレームを列挙します。
Vtable 順序のメソッド
メソッド | 説明 |
---|---|
IDiaEnumStackFrames::Next | 列挙シーケンスから指定された数のスタック フレーム要素を取得します。 |
IDiaEnumStackFrames::Reset | 列挙シーケンスを先頭にリセットします。 |
解説
呼び出し元に関する注意事項
このインターフェイスを取得するには、IDiaStackWalker::getEnumFrames または IDiaStackWalker::getEnumFrames2 メソッドを呼び出します。
例
次の例は、IDiaEnumStackFrames
インターフェイスを取得して使用する方法を示しています。 PrintStackFrame
関数の実装については、IDiaStackFrame インターフェイスを参照してください。
void DumpStackFrames(IDiaStackWalker* pStackWalker,
IDiaStackWalkHelper* pStackWalkHelper,
CV_CPU_TYPE_e cpuType)
{
if (pStackWalker != NULL && pStackWalkHelper != NULL)
{
CComPtr<IDiaEnumStackFrames> pEnumsFrames;
HRESULT hr;
hr = pStackWalker->getEnumFrames2(cpuType, pStackWalkHelper, &pEnumFrames);
if (SUCCEEDED(hr) && pEnumFrames != NULL)
{
CComPtr<IDiaStackFrame> pStackFrame;
DWORD celt = 0;
while (pEnumFrames->Next(1, &pStackFrame, &celt) == S_OK)
{
PrintStackFrame(pStackFrame);
}
pStackFrame = NULL;
}
}
}
要件
ヘッダー: Dia2.h
ライブラリ: diaguids.lib
DLL: msdia80.dll