LMDBG is a collection of small tools for collecting and analyzing the logs of malloc/realloc/memalign/free function calls. Unlike many others, LMDBG does not provide any way to detect overruns of the boundaries of malloc() memory allocations, as this is not the goal. Like most other malloc debuggers, LMDBG allows detecting memory leaks and double frees. However, unlike others, LMDBG generates full stacktraces and separates the logging process from analysis, thus allowing you to analyze an application on a per-module basis.
|Tags||Software Development Debuggers|
|Operating Systems||POSIX BSD NetBSD FreeBSD Linux Solaris|
|Implementation||C Awk Unix Shell mk-configure NetBSD make|
Release Notes: lmdbg-sym no longer segfaults due to problems with stacktrace(3). A much simpler and correct address conversion method was added. There were significant speedups due to optimizations for gdb. In lmdbg-run, GLIBC malloc hooks are no longer used. lmdbg's own code is not included in stacktraces. A new -N option was added, and the -v option received a minor fix. lmdbg-stat received fixes for a NULL dereference that appeared if a free(3) or realloc(3) stacktrace was without an appropriate malloc/realloc(3) stacktrace. There were other minor fixes and improvements, improvements in regression tests, and improvements in stacktrace(3).
Release Notes: A fix in regression tests. lmdbg-run: zero addresses are removed from stacktraces generated by glibc's backtrace(3). This fixes asserts in lmdbg-stat(1). Double "0x" issues in the "info section" were fixed (seen on NetBSD). backtrace(3) from libexecinfo (if available) is used instead of the built-in implementation. lmdbg-sym: a few bugs were fixed in conversion of addresses to symbols. lmdbg-stat: incompletely read lines are now ignored, so there are no more assert(3)s when an application being debugged is killed. An alternative implementation written in awk was removed.
Release Notes: This release adds a lot of improvements and fixes in manual pages, new capabilities in lmdbg, lmdbg-run, and lmdbg-sym, and minor fixes to lmdbg-stat. lmdbg is now a meta tool which is able to do many more things, not just find memory leaks.
Release Notes: Logging of calloc(3) invocations is disabled on glibc-based systems (Linux, GNU/kFreeBSD, and maybe others) because lmdbg-run fails on them. Minor clean-ups, fixes, and improvements. mk-configure >= 0.20 is required for building.
Release Notes: New tools lmdbg-strip and lmdbg-modules. lmdbg-sort has a new "num" sorting field. Minor fixes and improvements. lmdbg-grep has new variables to check: "op", "op_type", and "bytes"; and a new field to grep: "module". Minor improvements and fixes for lmdbg-stat, lmdbg, lmdbg-run, and internal tools lmdbg-m2s and lmdbg-s2m. Fixes for warning messages produced by gcc. More regression tests.