Как отследить Синий экран смерти, запускаемый приложением (в пользовательском режиме)
-
20-09-2019 - |
Вопрос
У нас есть .Сетевое приложение, состоящее из смешанного управляемого и неуправляемого кода.У нас есть несколько сообщений о том, что пользователи получают BSOD при использовании нашего приложения.Эти синие экраны появляются в разных версиях Windows.В основном XP, но один пользователь утверждает, что это происходит в Windows 7.Некоторые пользователи видят, что это происходит, когда делают что-то одно, другие видят, что это происходит, когда делают что-то совершенно другое.Конечно, мы не можем воспроизвести эту проблему.
Излишне говорить, что я в тупике.Приложение пользовательского режима не должно иметь возможности выводить ОС на синий экран, поэтому мы сталкиваемся с ошибкой в обычном приложении kernel space, возможно, с ошибочным антивирусным программным обеспечением?
Есть ли у кого-нибудь какие-нибудь советы о том, как отследить что-то подобное?У нас нет доступа к компьютеру, на котором это происходит, поэтому мы не смогли бы подключить отладчик ядра или что-то в этом роде.
Другие советы
Пожалуй, единственное, что вы можете сделать, это убедить пользователей отправлять вам данные:
- Аварийные свалки.Разместите на своем веб-сайте пошаговую инструкцию, показывающую, как включить полные / мини-дампы и где их найти.Вот такой Статья в КБ с кровавыми подробностями -- вероятно, хотите упростить это с помощью скриншотов и так далее.
- Установленное программное обеспечение.Лучше всего найти инструмент, который собирает эту информацию для них;люди не особенно надежны или скрупулезны. WinAudit выглядит хорошо.
- Установленное оборудование и драйверы.(то же самое)
Можете ли вы получить копию аварии / мини-дампа?
Если это так, вы можете использовать ВинДбг и SOS чтобы выяснить, где находится код, когда он взрывается.
Тесс Фернандес ведет хороший блог об управляемой отладке с помощью низкоуровневых инструментов.