- 阅读并理解EventSource 用户指南
- 将一个派生自EventSource的类添加到您的项目中,并按照链接指南中的说明实现您的方法。此处提供了示例实现。
- 构建您的项目,找到项目输出 (yourProject.winmd)
- 从这里获取 EventRegister.exe 实用程序
- 运行
EventRegister.exe -UsersGuide
。阅读并理解用法。
- 运行
eventRegister.exe -DumpRegDlls yourProject.winmd
。这将生成yourProject.MyEwtProvider.etwManifest.dll
和yourProject.MyEwtProvider.etwManifest.man
文件。
- 例如,在您的 Windows IoT 设备上创建一个新文件夹,
C:\Events
或使用现有文件夹。
- 在编辑器中打开
yourProject.MyEwtProvider.etwManifest.man
并编辑resourceFileName
和messageFileName
路径,以便父文件夹是C:\Events
- 复制
yourProject.MyEwtProvider.etwManifest.dll
并复制yourProject.MyEwtProvider.etwManifest.man
到您的 Windows IoT 到该C:\Events
文件夹。注意:最简单的方法是\\yourdevice\c$
在 Windows 资源管理器中打开 Windows 共享
- 使用 Powershell 连接到您的 Windows IoT。跑
cd C:\Events
- 运行
wevtutil.exe im .\yourProject.MyEwtProvider.etwManifest.man
。这不应产生任何警告或错误。有关语法的详细信息,请参阅此页面。wevtutil.exe
现在,如果您导航到您的 ETW WebUI 页面,如您的问题“MyEwtProvider”将出现在下拉列表中。您可以通过调用其中一个在程序中记录事件UwpEventSource.Log.Info/Warn/Debug/Critical/Error("Hello from my porgram");
如果您不想在不使用 WebUI 时收集事件,那么您就完成了。如果您希望能够保留这些并在以后分析它们,请在您的 powershell 会话中运行以下命令:
echo y | wevtutil.exe sl MyEwtProvider/Debug /e:true
看看它在这里做什么。现在,您将能够通过运行来检索历史数据(一旦您积累了它们):
wevtutil.exe qe MyEwtProvider/Debug