TraceView может собирать журналы, происходящие во время установки драйвера, но отображается как Неизвестно

Я разрабатываю драйвер UMDF и могу использовать его файл PDB для подтверждения вызовов событий/функций в течение его срока службы. Однако я также могу фиксировать события, предшествующие его функции DriverEntry. Эти события стали для меня проблемой, потому что я подозреваю, что они изменяют некоторые значения, инициализированные драйвером, тем самым вызывая проблемы. Я хотел бы узнать больше об этих событиях, но информация о TraceView показывает их как «Неизвестно», как показано ниже:

введите здесь описание изображения

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

РЕДАКТИРОВАТЬ: я извлек файлы TMF из файла PDB с помощью tracepdb, и похоже, что у меня нет файла TMF, соответствующего идентификаторам GUID сообщений, помеченным "No format information found". Может быть, эти сообщения трассировки исходят от внешних объектов, а не от драйвера?


person Jer Yango    schedule 25.01.2021    source источник
comment
Как настроен сеанс в TraceView? Включены ли системные события в дополнение к событиям драйвера?   -  person Luke    schedule 26.01.2021
comment
Сеанс настроен таким образом, что файл PDB добавляется в качестве провайдера, уровень равен verbose и все флаги проверяются, что означает, что выбраны все мои файлы TMH, включая флаг "MYDRIVE_ALL_INFO". Кажется, я не нашел и не настроил для включения системных событий в Traceview.   -  person Jer Yango    schedule 26.01.2021
comment
Ах, ключ в том, что вы используете инфраструктуру UMDF, которая, кажется, выполняет свою собственную трассировку: docs.microsoft.com/en-us/windows-hardware/drivers/wdf/   -  person Luke    schedule 27.01.2021
comment
Мне удалось найти файлы трассировки WDF, но похоже, что совпадений с неизвестными идентификаторами GUID не найдено. Я предполагаю, что эти файлы предназначены для использования файлом WUDFTrace.etl, но в моем случае этот файл ETL устарел, подразумевая, что он даже не записал ничего из драйвера с проблемой.   -  person Jer Yango    schedule 28.01.2021
comment
Ну, если вы получаете сообщения в traceview, значит, что-то активно регистрируется в сеансе. Возможно, предоставленные файлы tmh устарели. Я бы попробовал отладить драйвер, а затем подняться по стеку, чтобы увидеть, какой код более высокого уровня регистрирует сообщения, и посмотреть, сможете ли вы понять это оттуда.   -  person Luke    schedule 30.01.2021


Ответы (1)


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

person Jer Yango    schedule 03.02.2021