Кросс-платформенный обработчик сбоев

Я ищу кросс-платформенный обработчик ошибок. Google Breakpad выглядит многообещающим, но ему очень не хватает документации и требует разумного количества попыток на самом деле начать работу.

Что такое лучшая альтернатива?

Все, что мне нужно - это возможность надежно записывать аварийные дампы, трассировки стека и информацию о процессоре во время сбоя. В качестве альтернативы, что такое опыт с помощью Google Breakpad? Это было здорово или ужасно?

Ответы

Ответ 1

Ну, оказывается, что google-breakpad очень хорош в конце концов. Это не совсем легко настроить, но это нормально для того, что мне нужно.

Ответ 2

Я написал статью о том, как выложить стек в C/С++ с помощью Windows и Unix/Linux в DDJ несколько лет назад. Он не использует coredump, но записывает стековые кадры в файл журнала, внутренние ошибки или когда ОС определяет ошибку приложения.

Возможно, это поможет вам:

См. http://www.ddj.com/architect/185300443

Ответ 3

Для скомпилированного кода есть два хороших варианта - core dumps в вариантах UNIX и Доктор. Watson разбивает журналы/дампы под Windows. Я знаю, что это не кросс-платформенное решение, но если вы имеете дело только с двумя платформами, то наличие двух решений на самом деле не так уж и плохо.

Конечно, решения только фиксируют изображение ядра во время сбоя, а не состояние машины. Я ничего не знаю о том, что будет захватывать нагрузку IO и CPU во время сбоя приложения. Возможно, вы захотите заглянуть в Mozilla Crash Reporter, который, как ни странно, также известен как "Breakpad" ... совпадение?