27得票2回答
解读Callgrind数据

我需要一个动态调用图来分析我的应用程序。我使用 valgrind 套件中的callgrind工具运行它,生成了callgrind.out.xxxxx文件。现在,我想要制作一个图形化的呈现这些数据。但是KCacheGrind并没有帮助我很多,因为它只画出了部分的图形(仅绘制了大约50个函数,而不...

21得票1回答
有没有一种工具可以检查两个callgrind/valgrind配置文件之间的差异?

我试图理解程序在不同选项下的性能变化,我有一个1.8的因素需要解释。我一直在使用[valgrind]的callgrind工具进行分析,并使用Kcachegrind来可视化结果。 但我真的很想看到差异。我找到了cg_diff程序,但它不适用于callgrind档案,只适用于成本过高的cacheg...

21得票5回答
kcachegrind的控制台替代品?

Kcachegrind非常棒,是我最喜欢的工具之一,但有时候我需要在远程服务器上运行它的终端版本(例如使用ssh)。 我知道可以设置VNC或X-server转发,但这些方法很繁琐,我需要更简单的解决方案。 是否有任何基于ncurses的kcachegrind控制台替代品?

9得票1回答
关闭仪器功能后,使用Callgrind会变得缓慢。

我正在使用callgrind来分析Linux多线程应用程序,效果很好。我使用无仪器模式启动它(--instr-atstart=no),然后一旦设置完成,就使用callgrind_control -i on打开它。但是,当我更改某些配置以尝试分析应用程序的不同部分时,即使在打开仪器之前,它也开始...

10得票2回答
使用callgrind/kcachegrind获取每个线程的统计信息

我想使用callgrind查看应用程序中每个线程的“开销”。 我使用--separate-thread=yes选项进行了分析,这将为整个应用程序生成一个callgrind文件以及每个线程的文件。 这对于查看任何给定线程的概要很有用,但我真正想要的只是每个线程的CPU时间排序列表,以便我可以看...

60得票5回答
Valgrind报告一个段溢出错误

当我使用valgrind / callgrind运行我的程序时,经常会收到以下信息: ==21734== 线程#1中的brk段溢出:无法增长到0x4a39000 (地址不同) 请注意,在此之前没有堆栈溢出消息。 我找不到任何关于这个消息的文档,并且我不知道到底溢出了什么。 有人能帮我弄清楚问题...

10得票1回答
Callgrind分析受其他进程影响吗?

我想使用callgrind来分析我的应用程序性能。由于这需要很长时间,期间我会在同一台机器上进行网页浏览、编译和其他密集型任务。 这样会偏离性能分析结果吗? 我希望valgrind使用的是模拟CPU,所以其他外部进程不应该影响valgrind的执行。我理解得对吗?

27得票1回答
如何解读kcachegrind的结果

请问有谁知道如何解读Kcachegrind的结果。 我有两个版本的代码(v1,v2),都是以调试模式编译的。 我使用以下选项将它们通过valgrind运行: valgrind --tool=callgrind -v .... 生成的输出文件在Kcachegrind中打开。现在我已经发现代...

8得票3回答
让callgrind在kcachegrind的调用图中显示所有函数调用

我使用Valgrind工具 - Callgrind和Kcachegrind对一个大型项目进行分析,并想知道是否有一种方法让Callgrind报告所有函数的状态(而不仅仅是最昂贵的函数)。 具体地说,当我在kcachegrind中可视化调用图时,它只包括那些非常耗费资源的函数,但我想知道是否有...

7得票1回答
在简单的R文件上运行Callgrind

我希望使用Callgrind来找到一些复杂Rcpp代码中的瓶颈。由于我无法让它工作,所以我决定编写一个简单的R文件,以确保它正在执行应该做的事情。 然而,我仍然无法让它工作。 我的简单函数如下: args <- commandArgs(trailingOnly=T) test_ca...