Распечатать n уровни стека вызовов?

Для равняется, изучите , Секреты Равняются Angelika Langer . Я люблю его очень. Она - также большой FAQ приблизительно Дженерики в Java. Просмотрите ее другие статьи здесь (прокрутите вниз к "Базовому Java"), где она также продолжает Часть 2 и "смешанное сравнение типов". Весело проведите время читая их!

10
задан 27 August 2009 в 15:23
поделиться

4 ответа

Это можно сделать несколькими способами.

См. Как записывать фреймы стека в Windows x64

На мой взгляд, самый простой и самый надежный Это функция Win32 API:

USHORT WINAPI CaptureStackBackTrace(
     __in       ULONG FramesToSkip,
     __in       ULONG FramesToCapture,
     __out      PVOID *BackTrace,
     __out_opt  PULONG BackTraceHash
);

Этот параметр FramesToCapture определяет максимальную возвращаемую глубину стека вызовов.

5
ответ дан 3 December 2019 в 22:37
поделиться

Похоже, библиотека Microsoft DbgHelp может делать то, что вы хотите. Обратитесь к документации функции StackWalk64 на MSDN для получения дополнительной информации. Также эта статья CodeProject может быть полезной.

9
ответ дан 3 December 2019 в 22:37
поделиться

Ознакомьтесь с API Stackwalk и Stackwalk64 API DbgHelp.

0
ответ дан 3 December 2019 в 22:37
поделиться

Я считаю, что вы можете получить это из их API отладчика ( dbghelp ).

1
ответ дан 3 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: