У нас есть приложение .NET, которое передает файлы с клиентской рабочей станции в базу данных на центральном сервере в локальной сети. Некоторые из наших клиентов запускают это на беспроводных рабочих станциях Windows XP, которые используют коммерческий сторонний механизм шифрования Wi-Fi (по разным причинам они не используют стандартное шифрование WiFi, такое как WPA). Довольно последовательно, эти рабочие станции синего экрана, когда наше приложение работает.Как отладить сбой BSOD, вызванный косвенно .NET-приложением
Наше приложение напрямую не вызывает неуправляемый код, но, очевидно, что-то, что делает наша программа, косвенно вызывает проблему в базовом сетевом стеке. Я получил файл дампа мини-ядра с одного из зараженных компьютеров и загрузил его в WinDbg, и он сказал мне, что авария, вероятно, была вызвана файлом .sys, который является одним из файлов драйверов для программного обеспечения для шифрования (о котором я уже подозревал). Однако отладчик не сказал мне больше ничего полезного.
Мой вопрос: Есть ли способ получить трассировку стека от точки аварии до нашего приложения .NET? Нужен ли мне полный дамп памяти? У меня есть источник для нашего приложения, но мне мешает тот факт, что a) у меня нет источника или символов для рассматриваемого драйвера; и б) я не испытываю низкоуровневую отладку Windows. Я не против изменять наше приложение, если это необходимо, чтобы избежать проблемных вызовов, если это необходимо, но мне нужно знать, какие вызовы следует избегать.
Приложение .NET не делает ничего плохого. Код режима пользователя не может вызвать BSOD. Вам нужно будет заставить поставщика механизма шифрования WiFi смотреть на дамп. Предположительно, он включает в себя некоторый код режима ядра. –
@JohnSaunders: Я прошу отличить :) https://connect.microsoft.com/VisualStudio/feedback/details/691615/ – leppie
@JohnSaunders: Кроме того, это ядро, а не ядро; p – leppie