aboutsummaryrefslogtreecommitdiff
path: root/tests/memanalyze.pl
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-02-26 14:53:17 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-02-26 14:53:17 +0000
commit9b6350d0b0e7122790f3578a0bfbf14e03d21a5d (patch)
tree4c3cb52c09328e7b06ea3441694f8f14fd588f5c /tests/memanalyze.pl
parent07de0ff0ff2e99ae18c0326c1916e07ca5847028 (diff)
adjusted to work with the modified fopen() line and the new calloc line
Diffstat (limited to 'tests/memanalyze.pl')
-rwxr-xr-xtests/memanalyze.pl36
1 files changed, 31 insertions, 5 deletions
diff --git a/tests/memanalyze.pl b/tests/memanalyze.pl
index 49a21aa06..b15e43d78 100755
--- a/tests/memanalyze.pl
+++ b/tests/memanalyze.pl
@@ -115,7 +115,7 @@ while(<FILE>) {
if($sizeataddr{$addr}>0) {
# this means weeeeeirdo
- print "Fucked up debug compile, rebuild curl now\n";
+ print "Mixed debug compile, rebuild curl now\n";
}
$sizeataddr{$addr}=$size;
@@ -131,6 +131,31 @@ while(<FILE>) {
$getmem{$addr}="$source:$linenum";
}
+ elsif($function =~ /calloc\((\d*),(\d*)\) = 0x([0-9a-f]*)/) {
+ $size = $1*$2;
+ $addr = $3;
+
+ $arg1 = $1;
+ $arg2 = $2;
+
+ if($sizeataddr{$addr}>0) {
+ # this means weeeeeirdo
+ print "Mixed debug compile, rebuild curl now\n";
+ }
+
+ $sizeataddr{$addr}=$size;
+ $totalmem += $size;
+
+ if($trace) {
+ print "CALLOC: calloc($arg1,$arg2) at $source:$linenum",
+ " makes totally $totalmem bytes\n";
+ }
+
+ newtotal($totalmem);
+ $callocs++;
+
+ $getmem{$addr}="$source:$linenum";
+ }
elsif($function =~ /realloc\(0x([0-9a-f]*), (\d*)\) = 0x([0-9a-f]*)/) {
$oldaddr = $1;
$newsize = $2;
@@ -212,13 +237,13 @@ while(<FILE>) {
$linenum = $2;
$function = $3;
- if($function =~ /fopen\(\"([^\"]*)\"\) = (\(nil\)|0x([0-9a-f]*))/) {
- if($2 eq "(nil)") {
+ if($function =~ /fopen\(\"([^\"]*)\",\"([^\"]*)\"\) = (\(nil\)|0x([0-9a-f]*))/) {
+ if($3 eq "(nil)") {
;
}
else {
- $fopen{$3}=1;
- $fopenfile{$3}="$source:$linenum";
+ $fopen{$4}=1;
+ $fopenfile{$4}="$source:$linenum";
$fopens++;
}
}
@@ -312,6 +337,7 @@ if($addrinfos) {
if($verbose) {
print "Mallocs: $mallocs\n",
"Reallocs: $reallocs\n",
+ "Callocs: $callcs\n",
"Strdups: $strdups\n",
"Frees: $frees\n",
"Allocations: ".($mallocs + $reallocs + $strdups)."\n";