Мы используем трассировку стека в проприетарном assert
как макрос для обнаружения ошибок разработчика - при обнаружении ошибки печатается трассировка стека.
Я нахожу пару gcc backtrace ()
/ backtrace_symbols ()
методов недостаточно:
1-я проблема может быть решена с помощью abi :: __ cxa_demangle .
Однако 2-я проблема жестче. Я нашел замену backtrace_symbols () .
Однако 2-я проблема сложнее. Я нашел замену backtrace_symbols () .
Однако 2-я проблема сложнее. Я нашел замену backtrace_symbols () . Это лучше, чем gcc backtrace_symbols (), так как он может извлекать номера строк (если скомпилирован с -g), и вам не нужно компилировать с -rdynamic.
Hoverer код лицензирован GNU, поэтому IMHO я не могу использовать его в коммерческом коде.
Любое предложение?
PS
GDB может распечатывать аргументы, передаваемые функциям. Наверное, это уже слишком:)
PS 2
Аналогичный вопрос (спасибо nobar)