Russian Qt Forum

Программирование => С/C++ => Тема начата: Денис от Октябрь 19, 2015, 23:50



Название: Cross Platform Stack Trace
Отправлено: Денис от Октябрь 19, 2015, 23:50
В общем вопрос к знатокам в названии темы.
Подскажите пожалуйста кто что использует для трасировки стека от exception ?
Интересует кроссплатформенное решение. На GCC понятно что можно наваять через backtrace, но как же обстоит дело на студийном компиляторе от мелкософта ... Подскажите есть ли нормальный стек трейс, но без оберток в виде макросов дополнительных и т.д. что бы работало как на GCC Backtrace (имею ввиду не надо прописывать вначале функции какие-то макросы) ... через макросы все могут ))
Пол интернета перерыл, так долго рыл ) но ничего не нашел каждый компилятор лобает стек трейс по своему ...
Грустно это, 21 век на дворе а понять где вылетел ексепшен в большой программе нужно сутки сидеть и то в том случае если ошибка легко восстанавливаемая, а если редкая и происходит 1 раз в неделю и то при специфических обстоятельствах то не отловишь ( Помогите советом  ;)


Название: Re: Cross Platform Stack Trace
Отправлено: Old от Октябрь 20, 2015, 00:10
Logs the best. :)


Название: Re: Cross Platform Stack Trace
Отправлено: Денис от Октябрь 20, 2015, 00:16
Logs the best. :)

Что за логс ? ) clog ? Ребята а можно ссылочку сразу чтобы мы не говорили про разные логи )


Название: Re: Cross Platform Stack Trace
Отправлено: Bepec от Октябрь 20, 2015, 00:21
Он намекает на то, что стек в большинстве случаев покорёжен и информации содержит чуть более чем ноль. (мб 1 раз из 30 случаев помогает, не больше)
Потому логирование в любой его форме даёт больше возможностей.


Название: Re: Cross Platform Stack Trace
Отправлено: Old от Октябрь 20, 2015, 00:22
Что за логс ? ) clog ? Ребята а можно ссылочку сразу чтобы мы не говорили про разные логи )
К сожалению, готовых решений я не знаю.
Под логами я имею ввиду сам процесс ведения логов программой. Это позволяет находить подобные ошибки, а при правильном логировании и довольно быстро.


Название: Re: Cross Platform Stack Trace
Отправлено: Денис от Октябрь 20, 2015, 09:52
Да он покоцаный но если пытаемся анализировать стек в момент catch ( some exception ). А я говорю про то что некоторые компиляторы позволяют генерировать код для отлова stack-а в момент выброса его. В catch итак понятно что он будет покоцаный, а в момент генерации exception-а он вполне нормальный. Есть способ узнать в такой ситуации где оно произошло ?


Название: Re: Cross Platform Stack Trace
Отправлено: Racheengel от Октябрь 20, 2015, 11:10
google breakpad


Название: Re: Cross Platform Stack Trace
Отправлено: Денис от Октябрь 23, 2015, 10:35
google breakpad

А еще что-то есть GNU-шное там или от Apatche ?