#!/usr/bin/perl # # Convert the memory profiles of memprof to calltree format, # loadable with KCachegrind # # (C) 2004, Josef Weidendorfer print "events: Allocated\n"; while(<>) { if (/^(\S.*)$/) { $next = 0; print "\nfn=$1\n"; next; } if (/^ children:/) { $next = 1; #children next; } if (/^ inherited:/) { $next = 2; #inherited next; } if (/^ total:/) { # ignore, is calculated next; } if (/^ self:\s*(\d+)/) { if ($1 ne "0") { print "0 $1\n"; } next; } if (/^\s+(\S.*?):\s*(\d+)$/) { if ($next < 2) { next; } print "cfn=$1\ncalls=0 0\n0 $2\n"; } }