IDiaEnumStackFrames

枚举提供不同的堆栈帧。

方法按 Vtable 顺序

方法

说明

IDiaEnumStackFrames::Next

枚举序列以检索堆栈帧指定数量的元素。

IDiaEnumStackFrames::Reset

重置枚举序列与开头。

备注

调用方的说明

通过调用 IDiaStackWalker::getEnumFramesIDiaStackWalker::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

请参见

参考

IDiaStackWalkFrame

IDiaStackWalker::getEnumFrames2

IDiaStackWalker::getEnumFrames

其他资源

接口(调试接口访问 SDK)