Как просмотреть пользовательские события провайдера (собранные без регистрации провайдера) по wpa

Я пытаюсь использовать проявленное базовое событие для регистрации событий для отладки и анализа. Но у меня есть проблема: когда я записываю с зарегистрированным провайдером, все нормально, когда открываю.etl файл в WPA, я могу просмотреть как можно больше информации. Но если я собираю события без регистрации моего провайдера, когда я открываю файл.etl в WPA, все становится неприемлемым для человека. Итак, я должен зарегистрировать своего провайдера, прежде чем я начну собирать события? Я надеюсь, что нет, потому что если это так, я должен рискнуть утечь мой файл.man, чтобы другие могли также использовать его для получения подробного журнала трассировки. это не приемлемо!

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

Есть ли способ как можно лучше просмотреть.etl (собрать без регистрации моего провайдера)?

заранее спасибо.

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

изображение записи без моего зарегистрированного провайдера:

изображение: запись без регистрации моего провайдера

изображение записи с моим провайдером зарегистрировано:

изображение: запись с моим провайдером зарегистрирован

2 ответа

Я нашел ответ на форумах msdn, вот тот же вопрос, который задавал сам.

xperf -merge - это ключ!

целые шаги, как следует:

  1. Установите мое программное обеспечение и начните собирать данные о событиях на компьютере пользователя. (не нужно регистрировать моего провайдера) xperf -start mysession -on MY_PROVIDER_GUID начать сбор данных о событиях.

  2. через некоторое время позвоните xperf -stop mysession -d poor.etl прекратить сбор и сохранить в файл бедных.etl.

  3. скопируйте на мой компьютер dev.etl (мой провайдер уже зарегистрирован) и позвонитеxperf -merge poor.etl good.etl

  4. откройте good.etl с wpa, я могу видеть все детали, как я ожидал.

это все. надеюсь, это поможет другому парню, как я. Спасибо всем.

Используйте пакет EventSource, если вы используете.Net, который добавляет манифест в ETL (ProviderName/ManifestData).

Таким образом, вам не нужно устанавливать манифест в системе захвата и декодирования. Манифест теперь является частью ETL.

Конечно, если кто-то получит ETL, он может использовать Perfview для сброса Манифеста.

Другие вопросы по тегам