Visual Studio Web 分析仅显示 iexplore

Posted

技术标签:

【中文标题】Visual Studio Web 分析仅显示 iexplore【英文标题】:Visual Studio web profiling only shows iexplore 【发布时间】:2015-11-05 15:52:41 【问题描述】:

当我在 Visual Studio 中为 Web 应用程序运行 Visual Studio 2012 分析器(性能分析器)时,它会启动 Internet Explorer,并在我关闭 IE 窗口时结束分析。

但经过分析,结果只显示了iexplore.exe 进程及其内部调用,没有说明我的程序集的执行情况。

如何配置分析器来分析我的代码?对于桌面应用程序,它可以正常运行。

【问题讨论】:

【参考方案1】:

我们在 VS 2012 中提供了四种类型的分析。

CPU 采样 仪器(Java 脚本分析) 点网内存分配(点网程序集分析) 并发

默认情况下,当您开始对 Web 应用程序进行性能分析时,它会运行 CPU 采样,并且您获得的报告将仅包含进程级别信息。按照以下步骤运行 Dot Net Memory Allocation Profiling。

在 Visual Studio Premium 或 Visual 中打开 ASP.NET Web 项目 终极工作室。

在分析菜单上,单击启动性能 向导。

在向导的第一页,选择一个点网内存 分配分析,然后单击下一步。

您希望在哪个应用程序中进行分析? 下拉列表,确保选择了当前项目,并且 然后点击下一步。 在向导的第四页上,单击“完成”。

希望这有帮助!!!!

【讨论】:

我想为我的 .NET Web 应用程序分析服务器端 CPU,而不是托管内存分配。我没有泄漏或其他内存问题,我只是想检测某些长时间运行的操作中的瓶颈。但问题是 VS 分析器只分析客户端执行(本机 iexplore 代码),这对我来说没用。 您无法分析来自 CPU 进程的程序集级别信息。最好的方法是运行内存分析并优化消耗更多内存的代码,从而避免程序集的瓶颈。 内存使用与CPU使用关系不大。我可以使用 CPU 采样和检测(您提到的前两种类型的分析)从 Visual Studio 中轻松分析 .NET 控制台、winforms 或 WPF 应用程序。我的问题是 VS2015 在分析 Web 应用程序时,出于某种原因只分析本机 iexplore.exe 代码。

以上是关于Visual Studio Web 分析仅显示 iexplore的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 断点仅适用于第二次调试尝试

Visual Studio进行Web性能测试- Part I

当我仅使用链接器选项 /LTCG 时,为啥 Visual Studio 会在链接器命令行中显示选项 /PGD?

Microsoft Visual Studio Web 性能测试记录器可以将文件从 Internet Explorer 保存到本地磁盘吗?

web项目 在visual studio 输出窗口显示调试信息

Visual Studio 2015和2017 - 仅使用一个快捷方式应用重命名