首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PerfView无法捕获自定义ETW事件

PerfView无法捕获自定义ETW事件
EN

Stack Overflow用户
提问于 2016-08-04 19:52:14
回答 1查看 260关注 0票数 3

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

代码语言:javascript
复制
[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的输出中看到这些事件。有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2018-05-03 03:19:28

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

Event(1,Level = EventLevel.LogAlways,Keywords = EventKeywords.None)公共空消息(String RaiseEvent){ this.WriteEvent(1,message);}

避免提供GUID。在the Event Source programming guide from the .NET authors中,建议您仅提供名称,并根据名称自动生成GUID。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38766604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档