c# - 卸载没有清单文件的事件源(ETW)?
问题描述
在不使用清单的情况下卸载/删除以前安装的事件源的最佳方法是什么?
例如。如果我有类似的东西:
[EventSource(Name = "Corporation-Module-X")]
public sealed class XEventSource : EventSource
{
//...
}
对于安装事件源,我使用的是wevtutil {im | 安装清单}
如果我有清单,卸载很容易。但是我可以在没有清单文件的情况下卸载事件源吗?
我将尝试阐明我如何使用事件源以及我为什么要删除它。
使用 wevtutil 安装事件源后,事件源作为事件跟踪提供程序可见。因此,我可以在性能监视器中创建新的数据收集器集,并在其中添加我的事件源(连同一些性能计数器)。它看起来像这样:
可能发生的情况是事件源被重命名或删除。例如,在使用 wevtutil 重命名和安装之后。
[EventSource(Name = "Corporation-Module-Y")]
public sealed class XEventSource : EventSource
{
//...
}
事件跟踪提供程序中仍然存在旧的:
我想要的是查询所有以Corporation*开头的已安装事件提供程序,并在安装新事件提供程序之前将其删除。
谢谢!
解决方案
无需卸载任何东西,因为如果您使用EventSource ,则未注册清单。清单被发送ManifestData 事件
到侦听器工具(Perfview,Windows Performance Toolkit),以便他们可以解释记录的数据。
注册提供程序后,您可以转储清单并再次使用 wevtutil 将其删除。
推荐阅读
- scala - Flink 窗口操作符架构演变 - 保存点反序列化失败
- spring - 获取 Mono 的结果以便将其传递到 JpaRepository 或另一个非反应类
- r - 在 dplyr 中运行函数会给出错误的输出
- python - apply() 方法:通过第二列的总和对第一列进行归一化
- c++ - Boost - 类没有名为“序列化”的成员(抽象类)?
- javascript - 获取函数外变量的值
- c# - C#如何检查事件是否异步执行
- ruby-on-rails - 如何在 image_tag rails 中显示带有 falback url 的 webp 图像
- php - 如何将值向上移动到键,并删除键。数组操作
- javascript - 在 JS 中重命名对象键