memleak.awk 425 B

1234567891011121314151617181920212223242526
  1. #
  2. # This script looks for memory leaks by analyzing the output of "sqlite"
  3. # when compiled with the MEMORY_DEBUG=2 option.
  4. #
  5. /^malloc / {
  6. mem[$5] = $0
  7. }
  8. /^realloc / {
  9. mem[$7] = "";
  10. mem[$9] = $0
  11. }
  12. /^free / {
  13. mem[$5] = "";
  14. str[$5] = ""
  15. }
  16. /^string at / {
  17. addr = $3
  18. sub("string at " addr " is ","")
  19. str[addr] = $0
  20. }
  21. END {
  22. for(addr in mem){
  23. if( mem[addr]=="" ) continue
  24. print mem[addr], str[addr]
  25. }
  26. }