IDiaEnumStackFrames

Wylicza różne dostępne ramki stosu.

Metody w tabeli Vtable Order

Metoda opis
IDiaEnumStackFrames::Next Pobiera określoną liczbę elementów ramki stosu z sekwencji wyliczenia.
IDiaEnumStackFrames::Reset Resetuje sekwencję wyliczenia na początku.

Uwagi

Uwagi dotyczące wywoływania

Uzyskaj ten interfejs, wywołując metody IDiaStackWalker::getEnumFrames lub IDiaStackWalker::getEnumFrames2 .

Przykład

W tym przykładzie pokazano, jak uzyskać interfejs i korzystać z niego IDiaEnumStackFrames . Zobacz interfejs IDiaStackFrame, aby zapoznać się z PrintStackFrame implementacją funkcji.

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

Wymagania

Nagłówek: Dia2.h

Biblioteka: diaguids.lib

BIBLIOTEKA DLL: msdia80.dll

Zobacz też