VS 2012 中的分析

Posted

技术标签:

【中文标题】VS 2012 中的分析【英文标题】:profiling in VS 2012 【发布时间】:2013-05-04 02:32:16 【问题描述】:

我正在使用 Win 8 x64 并设置 Visual Studio Ultimate 2012

我运行一个 C# 项目

并且想要对我的项目运行分析

当我开始分析时它给我

' 分析开始。

分析进程 ID 848(测试)。

“848”不是有效的进程 ID。

Profiler 停止。

PRF0025:未收集数据。

分析完成。 '

我是分析新手

我用谷歌搜索了这个问题,只是发现了一些关于 WIN 8 的问题 http://social.msdn.microsoft.com/Forums/en-US/vstsprofiler/thread/c609d76c-be22-4ffb-858c-73ccab591a78/

但是现在我该怎么办?

【问题讨论】:

【参考方案1】:

当您的程序在分析器有机会收集任何样本之前过早退出时,就会发生这种情况。当您想看看它是如何工作的但还没有编写任何可以以有意义的方式进行分析的真实代码时,这可能有点典型。

对于非常短且实际代码很少的程序,请务必更改分析模式。使用分析 + 性能向导并从“采样”模式切换到“仪器”模式。检测模式会大大减慢程序的速度,但对于非常短的程序来说更准确。

【讨论】:

非常感谢我的程序退出得太早了,但我无法像你提到的那样更改模式 我遇到了同样的问题,这是因为我正在分析的程序使用了一些 DLL,而这些 DLL 在进程启动时无法直接在文件夹中使用。我在调试项目属性页面中设置了PATH 变量。使这些 DLL 可用(复制它们)解决了我的问题。【参考方案2】:

您确定探查器启动时进程仍在运行吗?查看有关进程 ID 无效的消息,听起来进程可能在分析器有机会收集任何东西之前就已经退出。

【讨论】:

【参考方案3】:

您可以在“性能资源管理器”窗口中更改模式,方法是右键单击项目名称(名称后应显示“(采样)”)并单击“属性”。 第一个选项是分析方法。

更多信息:http://msdn.microsoft.com/en-us/library/dd264994.aspx

【讨论】:

【参考方案4】:

当我在尝试分析之前忘记“以管理员身份运行”Visual Studio 时,我看到了这个问题。

【讨论】:

以上是关于VS 2012 中的分析的主要内容,如果未能解决你的问题,请参考以下文章

VS2012中的内存分析现有进程

如何从VS2012单元测试中的代码覆盖率分析中排除名称以“.Test”结尾的项目

VS2008中的代码分析(FxCop)功能在哪里?

我们如何在 FxCop 10 Standalone 中使用 VS2012 静态分析规则

MFC C++/CLI 项目:VS2012 中的 /CLR 开关导致调试问题

VS 2012 中的条件运算符类型转换