在尝试让ETW活动跟踪在我的项目中工作了很长一段时间之后,我觉得我应该后退一步,看看微软在此页上提供的演示项目是否适合我。不幸的是,两者都不是。问题是,事件确实显示在VS的诊断事件窗口中,但它们有一个普通GUID作为ActivityID,而不是分层活动id,而RelatedActivityID只包含一个空值:

在尝试了几个小时之后,我发现有一种方法可以让它正常工作:当我在生成事件时使用PerfView收集数据时,它们突然得到了一个应该有的层次id,甚至有相关的活动id集:

但是,当我停止使用PerfViewer收集事件时,这些事件同样只有一个活动id的GUID,而忽略了相关的活动id。
有人知道为什么会这样吗?这真的只有在外部应用程序监视事件的情况下才能起作用,还是我可以让它只在VS中工作呢?有没有人知道这是否适用于Azure诊断学?稍后我想听听Azure诊断的事件,但是如果没有这样的层次I生成,它对我没有多大用处。
非常感谢!
https://stackoverflow.com/questions/48805466
复制相似问题