我是否完全误解了如何使用Visual Studio 2008探查器?

时间:2009-03-27 13:57:02

标签: c# visual-studio-2008 profiling c++-cli

抱怨{

当我使用Visual Studio 2008的分析器(来自Analyze菜单选项)分析我的代码时,我总是非常沮丧。在我看来,它是VS最差的设计特征之一,每次我需要使用它时都会感到畏缩。

}

我有一些关于它的使用的问题,我希望你们能给我一些指示: - )

  1. 您是否需要在Debug或Release中构建项目以对其进行概要分析?一个对话框(我不知道如何回到)提到我应该在Release下进行分析。好的 - 我这样做 - 当我去运行代码时,它告诉我我缺少PDB文件。真棒。所以我回到调试模式,我尝试运行它,它告诉我我的一半项目需要使用/ PROFILE开关重新编译。
  2. 是否可以分析C ++ / CLI项目?打开/ PROFILE开关后,有一半的时间我从C ++ / CLI项目中完全没有输出。
  3. 为什么在尝试分析C#项目时,它们是否显示在模块视图下的报告名称列表中为0x0000001,0x0000002,0x0000003等?真的,VS?真?你不能猜测我模块的名字吗?
  4. 就此而言,为什么函数名称报告为0x0A000011,0x06000009,0xA0000068等?
  5. 为什么,为什么,VS在正在分析的可执行文件的依赖关系树中重建所有内容?如果您的解决方案中有5-6个项目可能不是问题,但是当您有70个项目时,几乎不会更加难以使用分析器
  6. 您能否推荐使用VS2008探查器的任何优秀指南?

4 个答案:

答案 0 :(得分:3)

如果您发现它很难使用,那么有一个名为nprof的非常棒的.NET分析器,如果您正在调试非CLR项目,那么AMD有一个非常引人注目的统计分析器,名为{{3} }。

两者都是免费的(!),非常容易使用。一个更好的替代方案,我希望从你的帖子上面你准备放弃VS内置探查器无论如何:)

答案 1 :(得分:1)

我对那件事情有同样的感觉。我最终写了自己的(我想要的只是体面的方法调用时间信息)。

答案 2 :(得分:1)

  

1.您是否需要在Debug或Release中构建项目以对其进行分析?

通常使用发布模式。

  

6.您能否建议使用VS2008探查器的任何优秀指南?

第1步,下载ANTS Profiler

第2步,按照易于使用的屏幕说明进行操作。

步骤3,查看易于阅读的报告。

说真的,与ANTS相比,Microsoft分析器是垃圾。

答案 3 :(得分:1)

只是一般性评论。人们描述了几个原因。

  1. 获取各种时间信息。
  2. 找出他们可以解决的问题,使他们的计划更快。
  3. 这些是非常不同的目标。

    如果你的理由是第二个,那么使用分析器不是唯一的方法。 See here