Bug Browser

Leak Browser

Overview


Leak Browser is a debugging tool for tracking down hard to find leaks in software.

There are many techniques and tools for finding software resource leaks. Leak Browser was written to find those leaks that other tools could not. It does this by monitoring a vast array of resource allocation routines, from operator new all the way down to ntdll!NtAllocateVirtualMemory.

This list is a list of some of the functions tracked by an older version of Leak Browser .
You must have scripting enabled to expand the categories below:
  • + C/C++ runtime
  • + Win32 handles
  • + Win32 allocs
  • + COM strings
  • + COM memory - CoTaskMem
  • + COM arrays - SafeArray
  • + GDI resources
  • + User32 resources
  • + System resources
  • + System memory

  • [The latest version tracks many other functions and additionally tracks uncommitted address space.]

    Unlike other tools it does not require recompilation, and does not require that you link to specific libraries. Leak Browser is able to cope with both static and dynamic link C runtime libraries, all you need is the symbol files. Currently it works with compiled Win32 code only, Win64 support is planned, .NET support is a long way off but there are plenty of other tools that can handle .NET because the .NET virtual machine makes this relatively easy compared with native code, JVM support and scripting support are not likely ever.

    Unlike other tools it generates a meaningful picture of how your software is leaking. It does this by generating HTML graphs of the leak sites. There are also a number of filters that enable you to produce a more meaningful picture. Some sample output is provided on the example pages.