Как просмотреть пользовательские события провайдера (собранные без регистрации провайдера) по wpa
Я пытаюсь использовать проявленное базовое событие для регистрации событий для отладки и анализа. Но у меня есть проблема: когда я записываю с зарегистрированным провайдером, все нормально, когда открываю.etl файл в WPA, я могу просмотреть как можно больше информации. Но если я собираю события без регистрации моего провайдера, когда я открываю файл.etl в WPA, все становится неприемлемым для человека. Итак, я должен зарегистрировать своего провайдера, прежде чем я начну собирать события? Я надеюсь, что нет, потому что если это так, я должен рискнуть утечь мой файл.man, чтобы другие могли также использовать его для получения подробного журнала трассировки. это не приемлемо!
Я не хочу, чтобы мой файл.man был упакован в установочный файл, поэтому мне не нужно беспокоиться о его утечке. и, конечно, я не могу зарегистрировать своего провайдера.
Есть ли способ как можно лучше просмотреть.etl (собрать без регистрации моего провайдера)?
заранее спасибо.
ниже приведены картинки, которые могут сделать то, что я сказал, более простым для понимания.
изображение записи без моего зарегистрированного провайдера:
изображение записи с моим провайдером зарегистрировано:
2 ответа
Я нашел ответ на форумах msdn, вот тот же вопрос, который задавал сам.
xperf -merge - это ключ!
целые шаги, как следует:
Установите мое программное обеспечение и начните собирать данные о событиях на компьютере пользователя. (не нужно регистрировать моего провайдера)
xperf -start mysession -on MY_PROVIDER_GUID
начать сбор данных о событиях.через некоторое время позвоните
xperf -stop mysession -d poor.etl
прекратить сбор и сохранить в файл бедных.etl.скопируйте на мой компьютер dev.etl (мой провайдер уже зарегистрирован) и позвоните
xperf -merge poor.etl good.etl
откройте good.etl с wpa, я могу видеть все детали, как я ожидал.
это все. надеюсь, это поможет другому парню, как я. Спасибо всем.
Используйте пакет EventSource, если вы используете.Net, который добавляет манифест в ETL (ProviderName/ManifestData
).
Таким образом, вам не нужно устанавливать манифест в системе захвата и декодирования. Манифест теперь является частью ETL.
Конечно, если кто-то получит ETL, он может использовать Perfview для сброса Манифеста.