4

抱怨{

当我使用 Visual Studio 2008 的分析器(从分析菜单选项)分析我的代码时,我总是感到非常沮丧。在我看来,它是 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

4 回答 4

3

如果您发现它难以使用,那么有一个非常棒的 .NET 分析器,称为nprof,如果您正在调试非 CLR 项目,AMD 有一个非常出色的统计分析器,称为Code Analyst

两者都是免费的(!),并且非常易于使用。一个更好的选择,我希望从你上面的帖子中你已经准备好放弃 VS 内置分析器:)

于 2009-03-27T14:10:07.617 回答
1

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

于 2009-03-27T14:00:52.287 回答
1

1.您是否需要在 Debug 或 Release 中构建您的项目来分析它们?

通常您使用发布模式。

6.你能推荐任何关于使用VS2008 profiler的好指南吗?

第 1 步,下载ANTS Profiler

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

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

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

于 2009-03-27T21:09:13.583 回答
1

只是一般性评论。人们建立档案有几个原因。

  1. 获取各种计时信息。
  2. 找出他们可以修复什么以使他们的程序更快。

这些是非常不同的目标。

如果您的原因是第二个原因,那么使用分析器并不是唯一的方法。看这里

于 2009-03-28T12:46:45.420 回答