当我尝试使用 PerfView v1.9.0.0 (收集 - &gt;收集 - &gt;开始收集,使用默认参数)创建ETL文件时,操作失败,说明&#34; < strong>发生异常情况,请参阅日志以获取详细信息。&#34;
以下是我在日志中看到的内容:
Started with command line: "C:\Users\XYZ\Desktop\PerfView.exe"
PerfView Version: 1.9.0.0 BuildDate: Fri 02/12/2016 11:19:34.83
Started: View
Warning: PdbScope not found at C:\Users\XYZ\Desktop\PerfViewExtensions\PdbScope.exe
Disabling the Image Size Menu Item.
Warning: ILSize not found at C:\Users\XYZ\Desktop\PerfViewExtensions\ILSize.dll
Disabling the IL Size Menu Item.
Completed: View (Elapsed Time: 0.021 sec)
Collection Dialog open.
Started: Collecting data C:\Users\XYZ\Desktop\PerfViewData.etl
[Kernel Log: C:\Users\XYZ\Desktop\PerfViewData.kernel.etl]
Kernel keywords enabled: Default
Aborting tracing for sessions 'NT Kernel Logger' and 'PerfViewSession'.
Insuring .NET Allocation profiler not installed.
Completed: Collecting data C:\Users\XYZ\Desktop\PerfViewData.etl (Elapsed Time: 1.300 sec)
Exception Occurred: System.Runtime.InteropServices.COMException (0x800700B7): Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at Microsoft.Diagnostics.Tracing.Session.TraceEventSession.EnableKernelProvider(Keywords flags, Keywords stackCapture)
at PerfView.CommandProcessor.Start(CommandLineArgs parsedArgs)
at PerfView.CommandProcessor.Collect(CommandLineArgs parsedArgs)
at PerfView.MainWindow.<>c__DisplayClass13_0.<ExecuteCommand>b__0()
at PerfView.StatusBar.<>c__DisplayClass19_0.<StartWork>b__0(Object <state>)
An exceptional condition occurred, see log for details.
当然,文件从不之前存在并且在(失败)操作之后也不存在。无论文件名或我提供的目录如何,每次尝试收集时都会发生这种情况。
我做错了什么?
答案 0 :(得分:1)
在Windows 7之前,您只能使用一个名为NT Kernel Logger的内核会话。从Windows 8开始,您可以使用其他名称创建新会话。
在Windows 8,Windows Server 2012和更高版本的SystemTraceProvider上 可以多路复用最多8个记录器会话。前两个插槽 记录器会话保留给NT内核记录器和 循环内核上下文记录器。
所以停止使用NT Kernel Logger
的工具(如Process Explorer,Process Hacker,Resmon)来解决问题。
答案 1 :(得分:0)
感谢magicandre1981提出您的建议。我确实使用的是Windows 7,而我正在运行Process Hacker。停止Process Hacker后,PerfView能够成功执行收集。欢呼声。