标签: windows-performance-analyzer

Windows 性能分析器缺少 ImageId 事件

我有一个应用程序,我想使用 Windows 性能分析器对其进行分析。一切正常,但我没有从我的应用程序中获得任何合理的堆栈跟踪。

有问题的应用程序是一个演示应用程序。这是为了给我一个很好的感觉,如果全部检查出来。然后我想分析另一个应用程序。因为我可以完全控制我的演示应用程序,所以我包含了一些标记函数,它们应该显示在堆栈跟踪中。

在 Windwos 7 1上运行应用程序时,Process Explorer 会显示我想要分析的部件的正确堆栈跟踪。这是第 7 - 9 行中带有标记函数的堆栈跟踪:

进程资源管理器堆栈跟踪

由于我在 Windows 10 VM 2 中安装了所有性能分析工具,因此我开始在那里进行分析。首先要注意:Process Explorer 没有显示正确的堆栈跟踪。我实现的标记功能无处可寻。

尽管如此,我还是使用UIforETWWindows Performance Recorder记录了性能轨迹。在 WPA 中打开它们并专注于目标应用程序时,这是堆栈跟踪:

WPA 堆栈跟踪

我感兴趣的所有信息都丢失了。堆栈显示为<Application>.exe!<Missing ImageId event>

我做错了什么?


如果这给你一个提示,这里是安装的相关软件:

1:Windows 7 计算机安装了 Visual Studio (C#)。

2:Windows 10 虚拟机没有 Visual Studio,但安装了 WinDBG(预览版)和 Windows Performance Toolkit。

我标记了,因为目标应用程序是用 Delphi 编写的。

windows delphi debugging windows-performance-analyzer

5
推荐指数
1
解决办法
1162
查看次数

WPA 看不到 ETW 事件数据,tracerpt 可以

我正在捕获 ADO.Net 诊断 ETW,如SQL Server 2008 中的数据访问跟踪中所述。设置有效,生成了一个 ETL 文件,如果我使用tracerpt ,我可以看到 ADO.Net 跟踪:

 System.Data,      TextA,            0,          0,          0,          0,         17,          0, 0x0000000000000000, 0x000007D0, 0x00003A64,                    1,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   131485096603462277,        450,       2400,        2, "enter_01 <prov.DbConnectionHelper.CreateDbCommand|API> 1# "
 System.Data,      TextA,            0,          0,          0,          0,         17,          0, 0x0000000000000000, 0x000007D0, 0x00003A64,                    1,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   131485096603469806,        450,       2400,        2, "<sc.SqlCommand.set_Connection|API> 1#, 1# "
 System.Data,      TextA,            0,          0,          0,          0,         17,          0, 0x0000000000000000, 0x000007D0, 0x00003A64,                    1,             ,                     ,   {00000000-0000-0000-0000-000000000000},                                         ,   131485096603469816,        450, …
Run Code Online (Sandbox Code Playgroud)

sql-server wmi etw xperf windows-performance-analyzer

5
推荐指数
1
解决办法
1258
查看次数

如何用wpa查看通用事件详细信息?

我为CLR提供者记录了ETW事件:

xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4 -f clr.etl
...
xperf -stop clr
Run Code Online (Sandbox Code Playgroud)

然后在wpa.exe中打开clr.etl并看到大量的"通用事件".但似乎wpa不显示MSDN中描述的一些数据

我能看到的与此类似:

Process    Unknown
Id    1
Opcode Name
Task Name
Provider Name    e13c0d23-ccbc-4e12-931b-d9cc2eee27e4
Time    0,071731589s
Selection Duration    0,416407863s
Start Time    0,002151869s
End Time    0,418559732s
Data Points    1
Table Data    Point    Selection
Cpu    0    
ThreadId    50 440    
Sum of Count    1    23
Time (s)    0,071846769    
Run Code Online (Sandbox Code Playgroud)

像这样的厕所是GCStart_V1事件,但我找不到例如田地Reason

是否有可能在wpa中看到通用事件数据?

WPA版本 - 10.0.10586.212

etw xperf windows-performance-analyzer

4
推荐指数
2
解决办法
852
查看次数