Aracılığıyla paylaş


IDiaEnumStackFrames

Kullanılabilir çeşitli yığın çerçevelerini numaralandırır.

Vtable Sırasına Göre Yöntemler

Metot Açıklama
IDiaEnumStackFrames::Next Sabit listesi dizisinden belirtilen sayıda yığın çerçevesi öğesi alır.
IDiaEnumStackFrames::Reset Bir numaralandırma dizisini en başa sıfırlar.

Açıklamalar

Arayanlar İçin Notlar

IDiaStackWalker::getEnumFrames veya IDiaStackWalker::getEnumFrames2 yöntemlerini çağırarak bu arabirimi alın.

Örnek

Bu örnekte arabirimin nasıl alınıp kullanılacağı gösterilmektedir IDiaEnumStackFrames . İşlevin uygulanması için IDiaStackFrame arabirimine PrintStackFrame bakın.

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;
        }
    }
}

Gereksinimler

Üst bilgi: Dia2.h

Kitaplık: diaguids.lib

DLL: msdia80.dll

Ayrıca bkz.