Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yönetilmeyen ve yönetilen kod arasındaki her geçiş için bir tane olmak üzere yönetilen yığın izlemesinin ve bir kayıt dizisinin CONTEXT metin gösterimini sağlar.
Sözdizimi
HRESULT CALLBACK _EFN_StackTrace(
[in] PDEBUG_CLIENT Client,
[out] WCHAR wszTextOut[],
[out] size_t *puiTextLength,
[out] LPVOID pTransitionContexts,
[out] size_t *puiTransitionContextCount,
[in] size_t uiSizeOfContext,
[in] DWORD Flags
);
Parametreler
Client [in] Hata ayıklanan istemci.
wszTextOut [out] Yığın izlemesinin metin gösterimi.
puiTextLength [out] içindeki wszTextOutkarakter sayısına işaret eden bir işaretçi.
pTransitionContexts [out] Geçiş bağlamları dizisi.
puiTransitionContextCount [out] Dizideki geçiş bağlamlarının sayısına yönelik bir işaretçi.
uiSizeOfContext [in] Bağlam yapısının boyutu.
Flags [in] EBP kaydını ve her module!functionname satırın önünde yığın işaretçisini (ESP) girmek için 0 veya SOS_STACKTRACE_SHOWADDRESSES (0x01) olarak ayarlayın.
Açıklamalar
Yapı _EFN_StackTrace , WinDbg program arabiriminden çağrılabilir. Parametreler aşağıdaki gibi kullanılır:
wszTextOutnull ise vepuiTextLengthnull değilse, işlevi içindekipuiTextLengthdize uzunluğunu döndürür.null değilse
wszTextOut, işlevi metniwszTextOutilepuiTextLengthbelirtilen konuma kadar depolar. Arabellekte yeterli yer varsa başarıyla döndürür veya arabellek yeterince uzun değilse E_OUTOFMEMORY döndürür.her ikisi de null olduğunda
pTransitionContextspuiTransitionContextCountişlevin geçiş bölümü yoksayılır. Bu durumda işlev, çağıranlara yalnızca işlev adlarının metin çıkışını sağlar.pTransitionContextsnull ise vepuiTransitionContextCountnull değilse, işlevi içindepuiTransitionContextCountgerekli sayıda bağlam girdisi döndürür.null değilse
pTransitionContexts, işlevi bunu uzunlukpuiTransitionContextCountyapıları dizisi olarak kabul eder. Yapı boyutu tarafındanuiSizeOfContextverilir ve SimpleContext veyaCONTEXTmimari için boyutu olmalıdır.wszTextOutaşağıdaki biçimde yazılır:"<ModuleName>!<Function Name>[+<offset in hex>] ... (TRANSITION) ..."Onaltılıktaki uzaklık 0x0 ise, hiçbir uzaklık yazılır.
İş parçacığında şu anda bağlamda yönetilen kod yoksa işlev SOS_E_NOMANAGEDCODE döndürür.
Her satırın
Flagsönündemodule!functionnameEBP ve ESP'yi görmek için parametresi 0 veya SOS_STACKTRACE_SHOWADDRESSES. Varsayılan olarak 0'dır.#define SOS_STACKTRACE_SHOWADDRESSES 0x00000001
Gereksinimler
Platformlar: Bkz. Sistem Gereksinimleri.
Üst bilgi: SOS_Stacktrace.h
.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir