Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.254.94] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#17
,
|
|
|
Цитата JoeUser @ А как ты такое делаешь? Ну можно системными функциями, что то типа этой например: https://docs.microsoft.com/ru-ru/windows/de...nidumpwritedump Ну это если грохнулось с исключением например. Еще можно обрабатывать SEH исключения и получать стек выполнения, всякие функции для работы с этим есть, гуглить нужно. Правда там ньюансы есть небольшие, а именно когда ты вылетаешь из какого нибудь класса, и попатадешь в SEH функцию, то там уже стека нема. Добавлено Ну просто например в C# мне очень нравится система исключений. Вылетело что то - тебе сразу выскакивает окно с ошибкой и можно сразу глянуть стек. И примерно уже узнать где грохнулось. Ну и в лог все это пишется. И нет проблем. А макросы эти __FILE__, __LINE__ в большинстве случаев не дают ровным счетом ничего. Я и так могу скопировать текст из лога и поискать по исходникам. Добавлено Вот тут сходу кстати нашлось как делать трейс стека, если нужно: https://stackoverflow.com/questions/6205981...m-a-running-app |
Сообщ.
#18
,
|
|
|
Wound, пасип. Но мне бы че-нить кроссплатформенное.
|
Сообщ.
#19
,
|
|
|
На юниксах стек и так в coredump файл сохраняется при креше. На сколько я понимаю это где то в настройках можно включить. Поэтому на *nix нет проблемы со стеком в принципе. По крайней мере у меня никогда не было. Берешь core файл, натравливаешь на него дебагер и вперед.
Добавлено https://wiki.archlinux.org/index.php/Core_dump https://wiki.dieg.info/poluchenie_core_dump_v_linux |
Сообщ.
#20
,
|
|
|
Цитата Wound @ На юниксах стек и так в coredump Я это знаю. Вопрос в другом. Не помню точно прогу, но помню ее реакцию на ошибку - сообщение со стеком вызовов, и функция отправки дебаг репорта разработчику. Это такое кроссплатформенное - было бы просто зе бест! |
Сообщ.
#21
,
|
|
|
Цитата JoeUser @ Я это знаю. Вопрос в другом. Не помню точно прогу, но помню ее реакцию на ошибку - сообщение со стеком вызовов, и функция отправки дебаг репорта разработчику. Это такое кроссплатформенное - было бы просто зе бест! Кросплатформенное - это обертка над некросплатформенным. Думаю в придачу в *nix не особо сложно получить стек выполнения. Можно и самому сделать, ну если интересно конечно. |