Test Stack White附加Windows事件查看器提示找不到EventLog进程问题问询
解决思路
- 修正目标进程名
你当前使用的EventLog是Windows事件日志服务的服务名,而非事件查看器的实际进程名。事件查看器启动后对应的进程名为eventvwr,替换进程名参数后重试附加操作即可。
参考代码:// 错误写法 // var application = Application.Attach("EventLog"); // 正确写法 var application = Application.Attach("eventvwr"); // 也可以直接通过Launch方法拉起事件查看器后直接关联 // var application = Application.Launch("eventvwr.exe"); - 枚举进程确认匹配规则
如果修正进程名后仍附加失败,可先通过代码输出当前运行的所有进程名,排查不同Windows版本是否存在进程名差异:foreach (var process in Process.GetProcesses()) { Console.WriteLine(process.ProcessName); } - 检查运行权限一致性
测试脚本的运行权限需要和事件查看器的运行权限保持一致,如果事件查看器是以管理员权限启动的,测试脚本也需要以管理员权限运行,否则Test Stack White会因为权限不足无法枚举到对应进程。 - 提前校验进程存在性
调用Attach方法前可先判断目标进程是否存在,避免直接抛出异常:var targetProcess = Process.GetProcessesByName("eventvwr").FirstOrDefault(); if (targetProcess != null) { var application = Application.Attach(targetProcess); // 后续操作逻辑 } else { // 处理进程未启动的场景 }
内容的提问来源于stack exchange,提问作者csharpgamer
相关产品推荐
相关产品推荐

