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

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

vc 2010 性能测试之 dll工程的 instrumentation模式  

2012-05-08 15:51:56|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
测试dll的时候,如果采用 sampling 模式的话,先在外面启动程序,加载目标dll之后,再想调试时候那样,直接 attach 到指定的进程即可。 先从 analyze 菜单,打开 performance explorer窗口, 启动一个新向导,右键就可以看到 attach了。或者直接从analyze  菜单下面的attach都可以。

但是,如果选择 instrumentation 模式的话,你就发现  attach 菜单不可用了。这时,需要手动的指定启动程序加载dll的target  目标文件或者说启动命令,比如像我下面的设置,我的dll是在cmd.exe加载了一个 批处理文件之后运行起来的。就要像下面这样设置。然后在start profiling 就可以开始性能测试了。 看上去 vc的profile工具需要根据这恶来判断有哪些dll,然后dll需要有调试符号信息在里面,好像他会做一些热patch,给每个函数加上统计执行时间的代码。另外编译dl的时候,还需要给链接器指定 /PROFILE选项,这样编译出来的才支持性能分析。不让start profiling的时候会出错。对应的工程属性的设置见下面的第一个图。


这种instrumentation 模式,可以统计函数的执行时间,包括哪些进程休眠的时间吧? 这个可能比sampling 的准确一些,但生成的报告文件很淡,一会就有几G了。 也不会像sampling  模式一样用不同的颜色标出代码热点的行。这个只是函数的统计吧。各有各的优点。 sampling可以根据采样,知道代码执行的时候在哪一行花时间比较多,但进程休眠那些可能没有统计? 
vc 2010 性能测试之 dll工程的 instrumentation模式 - widebright - widebright的个人空间
 

vc 2010 性能测试之 dll工程的 instrumentation模式 - widebright - widebright的个人空间
 
vc 2010 性能测试之 dll工程的 instrumentation模式 - widebright - widebright的个人空间
 
vc 2010 性能测试之 dll工程的 instrumentation模式 - widebright - widebright的个人空间
 
vc 2010 性能测试之 dll工程的 instrumentation模式 - widebright - widebright的个人空间
 
  评论这张
 
阅读(543)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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