Visual Studio 2012 分析远程调试过程
Posted
技术标签:
【中文标题】Visual Studio 2012 分析远程调试过程【英文标题】:Visual studio 2012 profiling remotely debugged process 【发布时间】:2014-07-09 22:34:14 【问题描述】:是否可以分析远程调试的进程?
我尝试过使用来自 article on remote debugging with VS 2012
这无济于事,因为在启动分析器时,它会询问已调试的 dll 和 exe 的路径:即使您应用了远程调试设置(如文章中所述),这些路径也不会被视为远程计算机上的路径。
【问题讨论】:
【参考方案1】:不幸的是,直接从 Visual Studio IDE 中这是不可能的(至少正如我通过大量研究所理解的那样),目前唯一可能的方法是使用独立的分析器。
注意:以下内容适用于 Visual Studio 2013,但可能是旧发行版的指南。
独立分析器让您可以直接从生产机器分析应用程序,而无需安装所有开发框架。
此独立探查器随 Visual Studio 提供,可在其中找到其设置文件。我在以下文件夹中找到它:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools\Setups\
我找到了两个文件:vs_profiler_x64_enu.exe
和 vs_profiler_x86_enu.exe
。我选择了第一个,但取决于目标机器的架构。将此文件带到目标计算机并安装它。
现在,在目标计算机上,您必须启动应用程序以通过位于文件夹中的实用程序 VCPrefCmd.exe
进行配置:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools
通过命令行。因此,您可以在环境中添加上述路径或只需键入以下内容:
"c:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools\VSPerfCmd.exe" /start:sample /output:"c:\report.vsp" /launch:"c:\pathTo\appToProfile.exe"
地点:
/start
是分析模式,在这种情况下是“采样”
/output
要生成的报告的路径名
/launch
你的应用程序来配置文件
现在您的应用程序将自动启动,您将完成所有工作。
完成后,关闭分析应用程序并在上一个命令行中键入以下命令:
"c:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools\VSPerfCmd.exe" /shutdown
这将停止分析并生成包含所有数据的report.vsp
(或任何你称之为的)文件。
现在将此生成的文件带到您的开发机器上并将其提供给您的 Visual Studio(打开或拖放),您将获得您的应用程序配置文件。
虽然期待在 Visual Studio 中完成“远程调试和分析”的嵌入,但这个过程可能已经足够公平了。
【讨论】:
请注意,对于 VS 14.0 和更新版本,VSPerfCmd.exe
会产生错误,指示您改用 VSPerf
。幸运的是,VSPerf.exe
的参数非常相似 - 请参阅 vsperf /?
。
知道如何将独立分析器附加到正在运行的 ASP.NET 应用程序吗?
@JordanRieger 附加到 ASP.NET 由 cskwg 的 other answer 指出。【参考方案2】:
只是想补充一下这个非常好的答案,Visual Studio 2017 的工具位于以下文件夹中:
C:\Program Files (x86)\Microsoft Visual Studio 15.0\Team Tools\Performance Tools\x64
安装文件位于:
c:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Team Tools\Performance Tools\Setups\
附加到正在运行的 ASP.net 应用程序的命令是:
VSPerfCmd.exe /attach:4716 /Crosssession /start:sample /output:report.vsp <br/>
就我而言,这在旧的 Windows 7 机器上不起作用。
但以下一个做到了:
C:\Program Files (x86)\Microsoft Visual Studio 15.0\Team Tools\Performance Tools
VSPerf.exe /attach:4711 /file:report.vspx
VSPerf.exe /status
VSPerf.exe /stop
然后可以使用 Visual Studio 打开生成的 VSPX 文件。
【讨论】:
以上是关于Visual Studio 2012 分析远程调试过程的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2012 远程调试:对内存位置的无效访问
我可以在 Windows XP 上使用 Visual Studio 2010 远程调试器从 Visual Studio 2012 调试 .Net 4.0 应用程序吗?
无法在 Windows Server 2008 上运行 Visual Studio 2012 远程调试器