2010-07-03 3 views
0

Я получаю BSOD почти каждый раз, когда я прерываю поток или закрываю устройство. Кто-то с теми же проблемами?Проблема с SharpPCap

EDIT: Я видел, что это происходит в N-й раз, когда я закрываю приложение, даже если я не закрываю устройства.

+0

Закрытие устройства должно работать, но 'Thread.Abort' никогда не должен использоваться. –

+0

Я просто понял это, спасибо. – blez

ответ

1

Возможно, это ошибка в драйвере WinPcap.

Недавно выпущенная версия WinPcap (4.1.2) исправляет ошибку, которая может вызвать BSOD.

См. WinPcap 4.1.2 Change Log.

+0

Есть ли бесшумный установщик winpcap 4.1.2? – blez

+1

@blez, вы можете использовать WinPcap Professional. «Как Windows DLL, WinPcap Professional плавно и прозрачно интегрирует функции WinPcap с вашим приложением. Следовательно, ваши пользователи не знают об установке стороннего пакета с вашим приложением». http://www.cacetech.com/products/winpcap_pro.html – brickner

0

Если вы получили BSOD, то это должно быть связано с драйверами, используемая вами версия WinPCAP или SharpPCAP может быть едва ли возможна (напрямую). Проверьте наличие обновлений или исправлений для вашей сетевой платы.

Для проверки того, какой драйвер несет ответственность, посмотрите файл minidump (в файле `C: \% WINDIR% \ Minidump) с помощью WinDbg. Если вы не писали драйверы устройств, но обработка WinDbg может быть немного утомительной. Это покажет вам место виновника, что, я полагаю, входит в драйвер сетевой карты или связано с ним.

+1

WinPCAP работает, загружая драйвер, который накладывает над драйвером NIC. Таким образом, это может быть либо драйвер для NIC, либо драйвера WinPCAP. –

Смежные вопросы