Инструменты / методы диагностики сбоя приложения C в Windows - PullRequest
0 голосов
/ 18 сентября 2010

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

Мой опыт связан с Java - при сбое приложения Java возникает трассировка стека, показывающая, где именнопроблема возникла, но родные приложения не так полезны.Какие методы обычно используются разработчиками C для отслеживания этого типа проблемы?У меня нет физического доступа к компьютерам пользователей, которые испытывают сбой, но я мог бы затем отправить дополнительные инструменты для установки, чтобы получить информацию.У меня также есть отчеты об ошибках Windows, показывающие код исключения / смещение и т. Д., Но они мало что значат для меня.Я скомпилировал свое приложение с помощью gcc - есть ли какие-то опции компилятора, которые я могу использовать для получения дополнительной информации в случае сбоя?

Ответы [ 2 ]

1 голос
/ 19 сентября 2010

Вы можете попробовать попросить пользователей запустить ProcDump , чтобы перехватить дамп ядра при сбое программы.В отличие от использования чего-то вроде Visual Studio, это простая и простая утилита командной строки, поэтому у пользователей не должно возникнуть проблем с ее запуском.

1 голос
/ 18 сентября 2010

В большинстве современных операционных систем ваше приложение может установить обработчик сбоя, который будет обходить стек в случае сбоя.У меня нет опыта работы с Windows, но эта статья рассказывает, как это сделать.

...