]>
Commit | Line | Data |
---|---|---|
3839e657 TT |
1 | #!/usr/bin/awk -f |
2 | # | |
3 | # Awk program to analyze mtrace.c output. | |
4 | # | |
5 | $1 == "+" { if (allocated[$2] != "") | |
6 | print "+", $2, "Alloc", NR, "duplicate:", allocated[$2]; | |
7 | else | |
8 | allocated[$2] = $3; | |
9 | } | |
10 | $1 == "-" { if (allocated[$2] != "") { | |
11 | allocated[$2] = ""; | |
12 | if (allocated[$2] != "") | |
13 | print "DELETE FAILED", $2, allocated[$2]; | |
14 | } else | |
15 | print "-", $2, "Free", NR, "was never alloc'd"; | |
16 | } | |
17 | $1 == "<" { if (allocated[$2] != "") | |
18 | allocated[$2] = ""; | |
19 | else | |
20 | print "-", $2, "Realloc", NR, "was never alloc'd"; | |
21 | } | |
22 | $1 == ">" { if (allocated[$2] != "") | |
23 | print "+", $2, "Realloc", NR, "duplicate:", allocated[$2]; | |
24 | else | |
25 | allocated[$2] = $3; | |
26 | } | |
27 | ||
28 | # Ignore "= Start" | |
29 | $1 == "=" { } | |
30 | # Ignore failed realloc attempts for now | |
31 | $1 == "!" { } | |
32 | ||
33 | ||
34 | END { for (x in allocated) | |
35 | if (allocated[x] != "") | |
36 | print "+", x, allocated[x]; | |
37 | } |