Kcachegrind非常棒,是我最喜欢的工具之一,但有时候我需要在远程服务器上运行它的终端版本(例如使用ssh)。
我知道可以设置VNC或X-server转发,但这些方法很繁琐,我需要更简单的解决方案。
是否有任何基于ncurses的kcachegrind控制台替代品?
Kcachegrind非常棒,是我最喜欢的工具之一,但有时候我需要在远程服务器上运行它的终端版本(例如使用ssh)。
我知道可以设置VNC或X-server转发,但这些方法很繁琐,我需要更简单的解决方案。
是否有任何基于ncurses的kcachegrind控制台替代品?
callgrind_annotate
(由valgrind --tool=callgrind
创建)从callgrind输出文件中获取基本信息和注释。(手册页面 文档中的部分)。对于由cachegrind (valgrind --tool=cachegrind
) 生成的文件,您可以使用cg_annotate
(文档中的部分)。这些实用程序默认与valgrind一起构建。objdump
来获取有关程序的信息)。 valgrind --tool=cachegrind --branch-sim=yes
valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes
您还可以使用 --I1=32768,8,64 --D1=32768,8,64 --L2=3145728,12,64
指定 cachegrind 的缓存大小。
Webgrind 是一个用 PHP 编写的 Web 前端,它解析 XDebug 的输出(XDebug 使用与 callgrind 相同的格式)。
valgrind --tool=callgrind
,使用任何你想要的选项。由于你已经将该目录本地挂载,所以像本地调试一样轻松打开数据文件,使用KCacheGrind即可。在远程主机上运行Valgrind/Callgrind似乎是一个不错的选择。或者,您可以将Valgrind或Callgrind的输出通过scp复制到您的PC,并在上面运行KCachegrind。
如果您使用Emacs,您可以在远程主机上启动它并执行此处所示的操作,这将为您提供一个类似于Emacs的前端界面来使用valgrind工具。
kcachegrind在其帮助文档中说明它是cachegrind和callgrind的前端。
cachegrind和callgrind是valgrind最新版本(3.5)的组成部分。因此,请从http://valgrind.org/downloads/current.html#current下载并构建valgrind。运行valgrind --help,它会显示如何使用callgrind功能。
如需更多信息,请告诉我您想要做什么。