sqlite/tool/memleak.awk
drh 6810ce677d Rework internal data structures to make the VDBE about 15% smaller. (CVS 1203)
FossilOrigin-Name: 8273c74bd09d1a044cb5154498b0a39939f6e3ed
2004-01-31 19:22:56 +00:00

30 lines
513 B
Awk

#
# This script looks for memory leaks by analyzing the output of "sqlite"
# when compiled with the MEMORY_DEBUG=2 option.
#
/[0-9]+ malloc / {
mem[$6] = $0
}
/[0-9]+ realloc / {
mem[$8] = "";
mem[$10] = $0
}
/[0-9]+ free / {
if (mem[$6]=="") {
print "*** free without a malloc at",$6
}
mem[$6] = "";
str[$6] = ""
}
/^string at / {
addr = $4
sub("string at " addr " is ","")
str[addr] = $0
}
END {
for(addr in mem){
if( mem[addr]=="" ) continue
print mem[addr], str[addr]
}
}