Як дізнатися який драйвер перенавантажує DPC та Interrupts

Шановні, як дізнатися який драйвер перенавантажує DPC та Interrupts, тим самим вішаючи систему? У мене завівся якийсь драйвер, який періодично, а частіше — при роботі з USB робить так, що в ProcessExplorer'e віртуальні процеси DPC's і Interrupts починають працювати з високим пріоритетом на 48% ЦП кожен. Це нестерпно, а вінду переставляти не хочеться. W7 x64. Для xp8664, вісти є утиліти від Microsoft для цих цілей, а для w7x64 немає. Як бути? Як відстежити паршивий драйвер?

16 Responses to Як дізнатися який драйвер перенавантажує DPC та Interrupts?

ProcessExplorer не допомагає?

він допомагає лише побачити проблему, але не вирішити. Це віртуальні процеси, що показують інтенсивність запитів на переривання і до Deferred Procedure Calls. Якби був такий самий менеджер процесів, тільки для драйверів було б чудово.

Все вже вкрадено до нас. Якщо є DDK, але ні

Отримуємо ось таку гарну табличку:

який

Але нам звичайно цього мало, тому ми качаємо WPT. Для цього можна завантажити веб інсталер, встановити тільки Win32 Development Tools, а потім з Start Install Windows Performance Toolkit (x64). Далі вимовляємо пару простих заклинань:

перенавантажує

Ну і мат у два ходи. Раз:

дізнатися
І два:
дізнатися

На цьому місці одному з драйверів, я так розумію, приходить неілюзорний пиздець.

Підозрюю, що те, що зроблено трейслогом можна зробити logmanом/perfmonом, але я в душі не ебу, як із зібраного лога потім згенерувати зведену таблицю, та й ліньки розбиратися все одно xperf краще :)

Батечку, та ви сатоніст! Бог ти мій, скільки я не знаю!

дякую, я WPT вже знайшов учора. весь вечір з ним ебался, сьогодні ще буду. Проблемка в тому, що коли на системунападає кондрат, цей xperf ледве ворушиться. сил моїх більше нема.

та це ***ня! Я зараз у вільний час буду розбирати ноут, шукати зніканий в ньому COMпорт, підрубати кернел дебаггер і шукати причину з хуялі у мене ноут після встановлення будь-яких дров перестається працювати до холодного ребута з відключенням харчування. Потім усі логи надсилатиму в MS. Вже місяць намагаюся час знайти, народ у MS зачекався вже мого експірієнсу.

А до чого тут WPT? Коли нападає кондрат, починай збирати логи. Коли попускає - починай аналізувати. Все просто

в тому і справа, що не допускає. коли дійство починається, я ледве можу мишею до ребута дотягнутися. а якщо іксперф напускаю взагалі мертв'як. і добре б, я добу потерплю, хай збирає логи. але поки xperf ?d filename не напишеш, звіт не створюється. Одно рятує ?сила напасти різна буває. підловлю, коли слабше, тоді й спробую.

такий вид сексу мені відомий, дебагіл колись роутер через зніканий компорт. тільки логи не було кому відіслати, тк він на лінуксі)

Так ця включай постійний трейс. Не забудь тільки закільцювати файл, а то ризикуєш дуже швидко розпрощатися з усім вільним місцем.

Можна ще «flushtimer 1» зробити. Для більшої надійності Відкрию один секрет: лог файл пишеться прямо з ядра, а мержити необов'язково. Тобто xperf stop І все. Цілком може спрацювати і простий резет, хоча я й не певен. ETW взагалі призначений для пошуку дефектів (у тому числі і performance, але не обмежуючись ними і той же WPP, заснований на ETW дуже непогано переживає bugcheck і).

Дякую. це саме те, що я шукав, та не знайшов.

який
а це означає, що symbols непідключені чи що? і до чого тут, здавалося б symbols?

підрубав символи. Як і побоювався, драйвером виявився usbport.sys, тобто. нічого конкретного. знайшов тут чувака з таким самим діагнозом, у нього все дозволилося видаленням драйвера Daemon tools sptd.sys і скиданням біосу на дефолт. Думаю далі.

Спробуй ще profile трейси зі stackwalk¦: не сам же по собі usbport вирішив збожеволіти, можливо його хто смикає. Одразу ж чекай приблизно 10% завантаження процесора (а що робити)

Перевір саму карту. У мене було щось схоже - вмираюча PCIMCA длінковська карта наглухо вішала всю систему при завантаженні, працюючи тільки якщо її встромити в вже завантажену систему.