首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用回调来分析程序执行的某一段时间?

如何使用回调来分析程序执行的某一段时间?
EN

Stack Overflow用户
提问于 2010-03-08 08:21:00
回答 3查看 14.4K关注 0票数 25

我想使用val差尔来做一些分析,因为它不需要重新构建程序。(我想要分析的程序已经用“-g”构建了)

但伐研是相当缓慢的..。所以我要做的是:

  1. 启动服务器(我想对该服务器进行分析)
  2. 连接到那个服务器上
  3. 在服务器上执行某些操作之前,请开始收集配置文件数据。
  4. 操作完成后,结束收集配置文件数据。
  5. 分析侧写数据。

我可以用Solaris上的sun工作室来做这种事。(使用dbx )。我只想知道,是否可以使用同样的方法做同样的事情?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2010-07-21 13:01:44

您应该看看愈伤组织文件,并阅读有关callgrind_control的内容。

  1. 启动应用程序:valgrind --tool=callgrind --instr-atstart=no your_server.x
  2. 见1。
  3. 开始收集配置文件数据:callgrind_control -i on
  4. 最终收集配置文件数据:callgrind_control -i off
  5. callgrind_annotate/cg_annotatekcache研或分析数据
票数 41
EN

Stack Overflow用户

发布于 2016-01-26 11:02:04

对于只分析某些函数,您还可以从CALLGRIND_START_INSTRUMENTATION头中找到有用的<valgrind/callgrind.h>CALLGRIND_STOP_INSTRUMENTATION,并使用世界末日的答案中建议的回调的--instr-atstart=no选项。

票数 11
EN

Stack Overflow用户

发布于 2010-03-08 08:25:47

你没有说什么操作系统--我假设是Linux --在这种情况下,你可能想看看oprofile (免费的)或缩放 (不是免费的,但你可以获得评估许可证),这两者都是抽样分析器,并且可以在不重新编译的情况下分析现有的代码。缩放更好,更容易使用(它有一个GUI和一些不错的附加功能),但是您的系统上可能已经有了oprofile。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2400025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档