【问题标题】:Visual Studio 2012 - Performance Profiling Prism ApplicationsVisual Studio 2012 - 性能分析 Prism 应用程序
【发布时间】:2014-02-22 18:45:28
【问题描述】:

我一直在寻找一些关于我正在从事的项目的分析报告。我已经查看了许多选项,之前我个人使用过 dotTrace 和 ANTS,但我决定试一试内置于 Profiling 中的 Visual Studio。

到目前为止,一切看起来都还不错。必须跳过一些障碍才能使其在第一个实例中运行,但现在运行正常。

我遇到的问题是我的项目是一个使用 PRISM 的复合 WPF 应用程序,这意味着在 EXE 文件和模块类库项目中的大部分逻辑之间没有静态引用。

这不是我第一次看到一些通常非常好的工具被复合应用程序弄糊涂了,所以我不会反对分析器。然而,这确实意味着我想要在应用程序中分析的 90% 实际上被排除在报告之外,并且完全没有分析。没有帮助。

我已将我感兴趣的所有库添加到 Instrumentation 会话中,因此一切就绪,问题是它似乎没有遵循执行路径进入我的模块内部。

有没有人成功地使用DirectoryLookupModuleEnumerator(无静态引用)方法获得 PRISM 应用程序并对其进行全面分析?

【问题讨论】:

    标签: wpf performance visual-studio-2012 mvvm prism


    【解决方案1】:

    哈!纸板开发商再次出击!

    在我的特定场景中,另一个复杂情况是我编译的应用程序不在通常的bin\Debug 位置。每个项目都将自身和任何依赖项复制到一个完全独立的位置(我猜有点像部署),然后在我调试时从那里执行。

    我做了什么来完成这个工作:

    1. 通常令人讨厌的签约后恶作剧让强大的名字发挥得很好

    2. 无需通过向导,只需单击分析菜单下的开始性能分析

    3. 这将启动性能分析,并应遵循启动项目属性页面中的任何调试设置。

    4. 返回到您开始时使用的 Visual Studio 2012/2013 实例。

    5. Performance Explorer面板中右键单击Targets节点。

    6. 选择添加目标二进制文件,然后在文件浏览器中选择构成应用程序复合部分的已编译模块

    7. 根据需要运行您的应用,然后在完成后选择停止分析

    8. 探索一下你的代码到底有多垃圾! :)

    注意:最后一步是可选的。

    【讨论】: