注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

利用Visual Studio 2010 Performance Tools的独立安装包,命令行采集远程机器程序的性能数据进行分析  

2013-08-06 15:16:45|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1. 安装visual studio 2010 性能分析工具的独立安装包。
不需要安装完整的IDE,这个比较好。
Visual Studio 2010 Performance Tools with Service Pack 1
This is the standalone profiler data collection installation for Visual Studio 2010 Service Pack 1. This is not an upgrade patch.
中文版http://www.microsoft.com/zh-CN/download/details.aspx?id=23205
英文版http://www.microsoft.com/en-us/download/details.aspx?id=23205

依赖.Net Framework 4, 要事先安装 Microsoft .NET Framework 4 (Standalone Installer)
http://www.microsoft.com/en-us/download/details.aspx?id=17718


2. 用命令行采集性能数据。、
参考MSDN中的说明
Using the Profiling Tools From the Command-Line
http://msdn.microsoft.com/en-us/library/ms182401.aspx

How to: Attach the Profiler to a Native Stand-Alone Application and Collect Concurrency Data by Using the Command Line
http://msdn.microsoft.com/en-us/library/dd264886.aspx
Walkthrough: Command-Line Profiling Using Sampling
http://msdn.microsoft.com/en-us/library/aa985628.aspx 

我最喜欢用的一般都是: Sampling模式 + attach:[pid]的方式来。
其他的参考MSDN文档,很详细的。
比如下面两个常用的命令序列。
set PATH=%PATH%;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools

VSPerfCLREnv /sampleon
VsPerfCmd /start:sample /output:PeopleTraxReport.vsp /launch:PeopleTrax.exe
VSPerfCmd /shutdown
VSPerfCLREnv /sampleoff

Open the.vsp file in the Visual Studio IDE.
VSPerfReport <dir> PeopleTraxReport.vsp /output:<dir> /summary:all

------------------------
VSPerfCmd /start:sample /output: OutputFile [Options]
VSPerfCmd /attach :{PID|ProcName} [Sample Event]
VSPerfCmd /detach
VSPerfCmd /shutdown
VSPerfClrEnv /off

-------------------------

3. 一个实际操作的例子。

D:\>VSPerfCLREnv /sampleon
Enabling VSPerf Sampling Attach Profiling. Allows to 'attaching' to managed applications.

Current Profiling Environment variables are:
COR_ENABLE_PROFILING=1
COR_PROFILER={F1216318-0905-4fe8-B2E8-105CEB7CD689}
COR_LINE_PROFILING=1
COR_INTERACTION_PROFILING=0
COR_GC_PROFILING=0
CORECLR_ENABLE_PROFILING=1
CORECLR_PROFILER={F1216318-0905-4fe8-B2E8-105CEB7CD689}
------
D:\>VSPerfCmd /start:sample /output:diameter_adapter.vsp
Microsoft (R) VSPerf Command Version 10.0.40219 x86
Copyright (C) Microsoft Corp. All rights reserved.
--------
D:\>VSPerfCmd /attach:3804
Microsoft (R) VSPerf Command Version 10.0.40219 x86
Copyright (C) Microsoft Corp. All rights reserved.

Successfully attached to process ID:3804
--------
D:\>VSPerfCmd /detach
Microsoft (R) VSPerf Command Version 10.0.40219 x86
Copyright (C) Microsoft Corp. All rights reserved.


Successfully detached from all processes
-------------

D:\>VSPerfCmd /shutdown
Microsoft (R) VSPerf Command Version 10.0.40219 x86
Copyright (C) Microsoft Corp. All rights reserved.


Shutting down the Profile Monitor
------------------------------------------------------------
D:\>VSPerfClrEnv /off
Disabling VSPerf Attach or Trace Profiling.

Current Profiling Environment variables are:
Environment variable COR_ENABLE_PROFILING not defined
Environment variable COR_PROFILER not defined
Environment variable COR_LINE_PROFILING not defined
Environment variable COR_INTERACTION_PROFILING not defined
Environment variable COR_GC_PROFILING not defined



4. 把采集的数据vsp文件,从远程机器复制到本地。
  把所有的 pdb调试符号文件,放到 Visual Studio 2010的 symbol path目录里面去。确保所有的pdb文件都能找的到,这个比较重要,不然生成的report就解不出函数名字了。
  然后把 vsp文件拖到 vc 2010的IDE中就就可以了。
  后面就跟直接从IDE中启动性能分析工具一样了。 同样可以对应到源码的每一行。
  


  评论这张
 
阅读(1015)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017