虚拟机中的Visual Studio Profiler

我无法在虚拟机中使用Visual Studio分析器来分析任何应用程序。 我已经在工作中使用过Amazon EC2的虚拟机,在家中使用了Virtualbox,Vmware。 我也使用了AMD Codeanalyst分析器。 但是没有一个组合起作用。

  1. 有谁知道为什么它不工作?
  2. 我怎样才能使它工作
  3. 你知道任何有效的分析器的作品吗?

虚拟机中的configuration文件有几个问题:

  • 时间真的不能被虚拟化,所以时间戳告诉你比你想要的更less。 这是因为虚拟处理器不能连续运行,虚拟机系统的devise者必须在时间跟踪外部时钟(如墙上的时钟)和时间似乎在虚拟机内连续传递之间进行select。 为了使networking协议起作用,几乎每个人都select跟踪外部时间。 然而,轮廓分析器通常是针对在任务上花费的时间,这是相反的select。

  • 在Windows中,通过在常规机器操作期间大多数不使用的硬件时钟来完成分析。 (特别是当地的APIC定时器。)如果这些虚拟机没有实现,那就不会感到意外,因为他们从来没有见过他们的客户真的打开它。 我使用Hyper-V,它实现了它,所以我不能评论Virtual Box或VMWare。

http://blogs.msdn.com/b/mgoldin/archive/2010/01/09/visual-studio-profiler-in-virtual-environment.aspx

这里有来自VS性能团队的一些信息。 看来,Visual Studio 2010在虚拟化下具有基于抽样的分析支持。 我正在观察的是,它是他们添加到Visual Studio来处理它的代码,似乎与VMWare,Hyper-V和VPC一起工作。 它似乎没有在VirtualBox下工作(今天确认4.0)

我即将testing使用VMWare Player下的VirtualBox创build的设备,看看它是否有效。 好消息是,您可以使用基于Visual Studio 2010样本的分析对2008年构build的代码进行分析。