Может кто-нибудь привести пример того, как программно получить стек вызовов работающей в данный момент программы C ++ в Windows?
Из некоторых тем (например, стек вызовов печати в C или C ++ ) У меня есть предложение использовать DbgHelp. Однако библиотека кажется довольно большой и предназначена для гораздо большего количества функций, чем просто стек вызовов, поэтому изучение библиотеки без примера может занять слишком много времени.
Кроме того, библиотека кажется устаревшей, потому что последняя версия, 6,12, датировано 01 февраля 2010 года (на данный момент 7 лет). Есть ли что-то новое для получения стека вызовов из C ++ сейчас?
Если вы приводите пример использования DbgHelp, не могли бы вы также описать, как его установить, добавить в проект и отправить с моей программой?
Я хотел бы получить недекорированные имена всех функций в стеке вызовов, желательно со значениями параметров.
Это не большой объем работы, чтобы самостоятельно пройти через стек вызовов, подняв ebp, CaptureStackBackTrace (https://msdn.microsoft.com/en-us/library/windows/desktop/bb204633(v=vs.85).aspx) сделает это за вас, если вы не хотите делать это самостоятельно.
Других решений пока нет …