使用Visual Studio 2012分析.NET类库时未收集到任何数据

本文关键字:任何 数据 Studio Visual 2012分析 NET 类库 使用 | 更新日期: 2023-09-27 18:30:04

我正在尝试使用Visual Studio 2012 Ultimate对C#和CLI的C5通用集合库进行性能评测。由于该项目没有可执行文件,我在解决方案中创建了一个新的控制台应用程序项目。该项目包含一个带有主方法的简单类,该类创建了一个具有大量元素集合的数据结构。问题是我的CPU采样总是返回以下输出:

Profiling started.
Profiling process ID 2684 (C5.Performance).
Process ID 2684 has exited.
Data written to C:'<some path>'C5'C5.Performance130904.vsp.
Profiling finished.
PRF0025: No data was collected.
Profiling complete.

以及一个显示PRF0025的确认框:未收集到任何数据我试图改变集合的大小,这样CPU就有更多的事情要做,但没有任何运气。我做.NET内存分配评测没有问题。

我在OSX主机上的VirtualBox上运行Windows7。

使用Visual Studio 2012分析.NET类库时未收集到任何数据

我遇到了同样的问题。常见的因素是VirtualBox。

CPU采样并不总是在VirtualBox中工作。这是因为VirtualBox中的一个错误,它没有正确地实现硬件时钟。我怀疑问题可能是硬件特定的,它可能在某些机器下工作,但在其他机器下不工作。我确信它在我的硬件配置下不起作用。

有关更多详细信息,请参阅以下链接:

VirtualBox错误票证,详细说明问题

一个服务器故障问题,包含问题的详细答案

我没有这个问题的解决方案,但它肯定是VirtualBox中存在的问题。

在属性页下启用Collect .NET object allocation information

  1. 性能资源管理器中,右键单击性能会话,然后单击属性
  2. 性能会话属性页对话框中,单击常规选项卡,然后选中收集.NET对象分配信息复选框
  3. 要收集.NET对象生存期数据,请选中同时收集.NET对象生命期信息复选框