Службы Windows: как определить, какая библиотека или драйвер вызывает утечку?

370
Dave

Я получаю утечку памяти для USB-устройства и пытаюсь выяснить, какие драйверы загружаются службой Windows, чтобы я мог обратиться к производителю за исправлением.

Утечка памяти происходит медленно (примерно 2-3 ГБ оперативной памяти в день), поэтому я не удивлен, что многие люди не сообщали об этом, но для моих людей это проблема, поскольку она вызывает сбой или зависание BSOD примерно через 2-3 дня. Анализ Minidump от BSOD был бесполезен, поскольку он просто выдавал общую ошибку нехватки памяти без указания драйвера.

Используя VMMAP и Process Explorer, я смог отследить утечку из svchost.exe в службу Windows:

WWAN Auto Config WwanSvc C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork 

Хотя служба Windows WWAN Auto Config соответствует типу устройства, она не указывает конкретно на конкретный драйвер. Я могу перезапустить службу и освободить память, если она не превысила определенный порог (когда служба истекает до того, как освободит память).

Существует ли простой способ отслеживания или просмотра библиотек DLL и драйверов, загруженных этой службой, чтобы я мог показать, что она связана с устройством, чтобы не говорить что-то нехорошее: «Это происходит, когда я подключаю его». ??

0
Как насчет взятия минидампа и его анализа? http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-15-WinDbg-Bugchecks rene 11 лет назад 0
Спасибо, я забыл упомянуть, что тоже пробовал, анализ бесполезен, так как он дает только адрес памяти, а также указывает на службу вместо хорошей трассировки. Обычно это тоже просто замерзает .. что ужасно. Я обязательно обновлю основной пост с этим для других. Dave 11 лет назад 0

0 ответов на вопрос