[ACCEPTED]-Console alternative of kcachegrind?-callgrind

Accepted answer
Score: 15

You can get basic information and annotations 14 from callgrind output file (created by valgrind --tool=callgrind) with 13 the command-line utility callgrind_annotate. (manual page section in docs). For files, generated 12 by cachegrind (valgrind --tool=cachegrind), you can use a cg_annotate (section in docs). These 11 utilities are build by default with valgrind 10 itself.

Another way is to copy program and 9 cache/callgrind output files to your machine 8 and then analyze them with local kcachegrind 7 as usual. But this way it can be difficult 6 if your machine have no unix but windows 5 or you running on incompatible arch (kcachegrind 4 can call local objdump to get information about 3 program).

I also want to recommend command 2 line options to valgrind:

 valgrind --tool=cachegrind --branch-sim=yes 
 valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes

You can also specify 1 cache sizes for cachegrind with --I1=32768,8,64 --D1=32768,8,64 --L2=3145728,12,64

Score: 5

webgrind is a web-frontend written in PHP that parses 2 the output of XDebug (which uses the same 1 format as callgrind).

Score: 4

Use SSHFS to mount the remote directory that 6 you're working in (see e.g. SSHFS installation instructions for Ubuntu).

Then just 5 ssh in and run valgrind --tool=callgrind with whatever options you 4 want in the remote directory. Since you 3 have that directory mounted locally, it's 2 as easy to open the data files with KCacheGrind 1 as if you were debugging locally.

Score: 0

Running Valgrind/Callgrind at the remote 7 host appears to be a good option. Or, you 6 could scp the output from Valgrind or Callgrind 5 to your PC and run KCachegrind on it.

If 4 you use Emacs, you could fire it up on the 3 remote host and do as shown here, which will 2 give you an Emacs'ish frontend for the valgrind 1 tool.

More Related questions