gpt4 book ai didi

events - PerfView 无法捕获自定义 ETW 事件

转载 作者:行者123 更新时间:2023-12-02 01:23:11 26 4
gpt4 key购买 nike

我有一个演示解决方案,它通过使用 System.Diagnostics.Tracing.EventSource 类引发事件。我的类(class)如下:-

[EventSource(Guid = "B6741490-9F53-4620-A45C-49004C1B4444", Name = "DemoEvent")]
sealed public class DemoEventSource : EventSource
{
[Event(1, Level = EventLevel.LogAlways, Keywords = EventKeywords.None)]
public void RaiseEvent()
{
this.WriteEvent(1, "Found");
}
}

我按照给出的步骤 here使用 PerfView 工具查看此解决方案生成的事件。我在 PerfView 的 additionalProvider 部分给出了 *DemoEvent。但是,我无法在 PerfView 的输出中看到这些事件。有人可以帮我吗?

最佳答案

您的方法的参数类型和调用写入事件的参数类型必须匹配(添加一个整数第一个参数,就像您对事件 ID 所做的那样),以便自动生成的事件源元数据匹配。即

[Event(1, Level = EventLevel.LogAlways, Keywords = EventKeywords.None)]
public void RaiseEvent(string message)
{
this.WriteEvent(1, message);
}

避免提供 GUID。 the Event Source programming guide from the .NET authors推荐您只需提供名称并让 GUID 从名称自动生成。

确保您使用的是 the latest PerfView release from GitHub而不是 Microsoft 下载上的过时版本。

关于events - PerfView 无法捕获自定义 ETW 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38766604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com