Re: Профайлер драйверов
От: TarasCo  
Дата: 26.02.10 09:28
Оценка: 18 (3) +1
GHS>Кто-нибудь знает, чем можно спрофилировать драйвер? Нужно получить время отклика, потребляемые ресурсы.

Для Windows:

Driver Verifier: покажет динамику выделения памяти, захвата объектов синхронизации, а также найдет веротяно множество ошибок.


WinDbg + DriverVerifier ( рекомендую на Win7 тестироваться )
С помощью полезных команд
!poolused
!verifier
также может выводить нужную информацию


В windbg есть ужасно глюченная команда wt — автоматическая трассировка. Чисто теоретически, с ее помощью можно отпрофилировать небольшой кусок кода. На практике при работе в ядре она ужасно глючит.


KernRate — простейший профайлер, работает на основе встроенного в ядро профилировщика. При наличии отладочных символов может профилирует с точностью до функции ( не строит никаких графов вызовов ). Также выводит информацию по производительности: кол-во промашек памяти, загрузка CPU, DPC, количество операций ВВ.


XPerf ( только Vista ) — гораздо более навороченная прога, также работает на основе встроенного профилировщика, но обладачет гораздо более можными средствами анализа. Умеет строить деревья вызовов. Можно совместить профайлер с собственными WPP логами.


Все это добро бесплатно и свободно валяется на сайте микрософта ( Xperf ныне доступен только в составе SDK, который также можно скачать невозбранно ).



Из настоящих "профессиональных" профайлеров можно вспомнить:
Intel VTune ( платный )
AMD CodeAnalyst ( бесплатный )

Правда я ни то, ни другой не пробовал при работе с драйверами. Кстати, хотя эти профайлеры заточены естественно под одноименные процессоры, но никто не запрещает профилировать код, исполняемый и на вражеском процессоре. Конечно, может несколько точность пострадает, но если речь не идет об оптимизации до тактов процессора, этим можно пренебречь.


PS: что то я расписался сегодня, завязывать надо....
Да пребудет с тобою сила
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.