Использование C++ с Visual Studio, мне было интересно, есть ли API, который будет печатать callstack для меня. Желательно, чтобы я напечатал столбец 5 уровней в глубину. Предоставляет ли Windows простой API, позволяющий мне это делать?Печать n уровней вызова?
10
A
ответ
5
Существует несколько способов сделать это.
См How to Log Stack Frames with Windows x64
На мой взгляд, самый простой и, а самым надежным способом является функция API Win32:
USHORT WINAPI CaptureStackBackTrace(
__in ULONG FramesToSkip,
__in ULONG FramesToCapture,
__out PVOID *BackTrace,
__out_opt PULONG BackTraceHash
);
Этот параметр FramesToCapture, определяет максимальную глубину стека вызовов, возвращенное.
8
Похоже, что библиотека DbgHelp от Microsoft может делать то, что вы хотите. Для получения дополнительной информации обратитесь к документации функции StackWalk64 на MSDN. Также полезно использовать this CodeProject article.
0
Посмотрите на API Stackwalk и Stackwalk64 API DbgHelp.
1
Я считаю, что вы можете получить это из своего API-интерфейса отладчика (dbghelp).
Смежные вопросы
- 1. Печать общих уровней деревьев
- 2. Печать n-ой позиции
- 3. Perl процедурный возврат двух уровней вызова стека
- 4. Пройдите график, но только n уровней глубоких
- 5. Highcharts Drilldown up до n уровней
- 6. Печать на AJAX вызова
- 7. System.out печать вызова дважды
- 8. Функции вызова Delphi с разных уровней классов
- 9. Печать большой буквы N с #
- 10. Печать SAS Макросы N Наблюдения
- 11. Печать первых N слов файла
- 12. Печать простых чисел до n
- 13. ручная печать N-байтового целого
- 14. Печать суммы на n номеров
- 15. печать с использованием одного '\ n'
- 16. имя Печать вызывающей функции вызова
- 17. Неверный синтаксис вызова "печать" атрибут
- 18. Печать n-го слова, начинающегося с n-й строки
- 19. Neo4j - shortestPath на каждом уровне до N-уровней
- 20. Извлечение всех детей из числа N Количество уровней От коллекции
- 21. Синхронизируя один файл и сохраняя N уровней структуры папок
- 22. Как получить sql-запросы при срабатывании триггера, до n уровней?
- 23. Напишите те же самые вложенные петли n уровней
- 24. Программно добавляя вложенные элементы репитера до N-уровней?
- 25. CSS выбор вложенных элементов до N уровней глубоких
- 26. Максимальное количество уровней в бинарном дереве листьев n
- 27. печать способы, чтобы достичь n-й ступеньки
- 28. Печать/n На xCode Игровая площадка
- 29. BASH: Печать N-го письма с начала
- 30. Печать N строк длинной двоичной строки K
Это не генерирует никакой символической информации. Какая польза от количества указателей? –
Программы C/C++ по умолчанию не содержат символической информации. См. Здесь, как добавить символы в дамп стека: http://www.drdobbs.com/architecture-and-design/post-mortem-debugging-revisited/227900186 –