枚举提供不同的堆栈帧。
方法按 Vtable 顺序
方法 |
说明 |
---|---|
枚举序列以检索堆栈帧指定数量的元素。 |
|
重置枚举序列与开头。 |
备注
调用方的说明
通过调用 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
请参见
参考
IDiaStackWalker::getEnumFrames2
IDiaStackWalker::getEnumFrames