6

I want to redirect the output of callgrind to a file name call_grind.txt, but when ever I try to do that, a file is generated but there is no output inside that file.

For example:

valgrind --tool=callgrind --callgrind-out-file=/tmp/call_grind.txt <program name>

Also, I'm not getting any callgrind.out.<pid> file in my system where it should normally be located.

According to my understanding, if I run the below command it should create the callgrind.out.<pid> file:

valgrind --tool=callgrind <program name>

So, how do I use the tool and also how to read the output file?

Daniel R. Livingston
  • 1,227
  • 14
  • 36
sambit
  • 81
  • 2
  • 4

2 Answers2

5

The callgrind.out.<pid> or the file you specified with --callgrind-out-file will be created if valgrind finished running successfully. Check the process exit code to make sure it is 0 to see if succeeded.

shargors
  • 2,147
  • 1
  • 15
  • 21
0

You can also use callgrind_control -d to explicitly flush the output.

callgrind_control also allows you to control when to start/stop instrumentation (and a couple other things)

techolic
  • 358
  • 3
  • 14