Ответ 1
Ну, оказывается, что google-breakpad очень хорош в конце концов. Это не совсем легко настроить, но это нормально для того, что мне нужно.
Я ищу кросс-платформенный обработчик ошибок. Google Breakpad выглядит многообещающим, но ему очень не хватает документации и требует разумного количества попыток на самом деле начать работу.
Что такое лучшая альтернатива?
Все, что мне нужно - это возможность надежно записывать аварийные дампы, трассировки стека и информацию о процессоре во время сбоя. В качестве альтернативы, что такое опыт с помощью Google Breakpad? Это было здорово или ужасно?
Ну, оказывается, что google-breakpad очень хорош в конце концов. Это не совсем легко настроить, но это нормально для того, что мне нужно.
Я написал статью о том, как выложить стек в C/С++ с помощью Windows и Unix/Linux в DDJ несколько лет назад. Он не использует coredump, но записывает стековые кадры в файл журнала, внутренние ошибки или когда ОС определяет ошибку приложения.
Возможно, это поможет вам:
Для скомпилированного кода есть два хороших варианта - core dumps в вариантах UNIX и Доктор. Watson разбивает журналы/дампы под Windows. Я знаю, что это не кросс-платформенное решение, но если вы имеете дело только с двумя платформами, то наличие двух решений на самом деле не так уж и плохо.
Конечно, решения только фиксируют изображение ядра во время сбоя, а не состояние машины. Я ничего не знаю о том, что будет захватывать нагрузку IO и CPU во время сбоя приложения. Возможно, вы захотите заглянуть в Mozilla Crash Reporter, который, как ни странно, также известен как "Breakpad" ... совпадение?