/lmdbg, Lightweight Modular malloc Debugger
1.2.1, Package name:
lmdbg-1.2.1, Maintainer: cheusov
LMDBG is a collection of small tools for collecting and analyzing logs of
malloc/realloc/memalign/free etc. function calls. LMDBG generates full
stacktraces and separates the logging process from analysis, thus allowing
you to analyze application on a per-module basis. Simple but powerful tools
for analisis are also provided.
lmdbg - Meta tool, all in one.
lmdbg-run - Creates malloc/realloc/free/memalign/... logs
lmdbg-sym - Converts addresses to 'file.c:NUM func_name'
lmdbg-leak - Checks for memory leaks
lmdbg-stat - Gathers statistical information about memory allocations
lmdbg-grep - Greps the stackframes
lmdbg-strip - Strips the stackframes
lmdbg-module - Enrichs the stackframes with a module name
lmdbg-sort - Sorts the stackframes by e.g. total allocated bytes,
a number of memory allocations etc.
lmdbg-sysleaks - Filters out system memory leaks e.g. libc's
Required to run:
] Required to build:
Master sites: (Expand) SHA1:
Version history: (Expand)
- (2014-02-04) Updated to version: lmdbg-1.2.1
- (2013-08-08) Updated to version: lmdbg-1.2.0
- (2012-09-03) Updated to version: lmdbg-1.1.0
- (2012-01-10) Updated to version: lmdbg-1.0.0
- (2011-12-03) Updated to version: lmdbg-0.17.0
- (2011-07-05) Updated to version: lmdbg-0.16.0nb2
CVS history: (Expand)
| 2015-11-03 04:29:40 by Alistair G. Crooks | Files touched by this commit (1995) |
Add SHA512 digests for distfiles for devel category
Issues found with existing distfiles:
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
| 2015-01-04 03:47:06 by David A. Holland | Files touched by this commit (1) |
Use BROKEN_ON_PLATFORM for undocumented MacOS restriction.
| 2014-02-05 22:14:00 by Aleksey Cheusov | Files touched by this commit (2) | |
Update to 1.2.1
lmdbg-leaks: fix incorrect memory leak detection with calloc(3).
| 2013-08-07 23:07:25 by Aleksey Cheusov | Files touched by this commit (3) | |
Update to 1.2.0
New tool lmdbg-head(1) was implemented, see the man page for
README: recomendations for procfs
- Much simplier (and correct) method for address convertion was
implemented. As a result lmdbg-sym works correctly on AltLinux
where ASLR and PIE are enabled by default.
- Breakpoint are removed very soon after creation.
This saves a lot of memory consumed by gdb(1)
and dramatically speeds up it.
- Arguments are passed correctly to progname
- On glibc-based systems (e.g. Linux) malloc hooks are not used
anymore as they are declared deprecated
- Addresses from lmdbg.c are not included to stacktrace
- Additional checks for address (returned by stacktrace(3))
correctness. As a result gdb(1) doesn't crash and therefore
lmdbg-sym(1) work correctly.
- stacktrace(3) doesn't not crash anymore on NetBSD/x64_64 with
system utilities. See implementation details in stacktrace.c.
- New option -N
- Option -v works correctly with non-zero exit status of progname.
- Exits with error if progname is not specified.
- Fix for NULL dereference appeared if free(3) or realloc(3)
stacktrace is seen without appropriate malloc(3) stacktrace.
AWK interpreter is found at configure time via MKC_REQUIRE_PROGS.
Build and regression tests were fixed for non-empty MAKEOBJDIR case.
ChangeLog file is never installed.
lmdbg-s2m and lmsbg-m2s was moved to libexec dir.
mk-configure >= 0.24.0 is required for build.
Fixes, improvements and additions in regression tests.
| 2012-10-31 12:19:55 by Aleksej Saushev | Files touched by this commit (1460) |
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
| 2012-09-02 20:48:19 by Aleksey Cheusov | Files touched by this commit (3) | |
Update to 1.1.0
Fix in regression tests. Now "make test" exits with non-zero status
if something fails.
- Zero addresses are removed from stacktraces generated by glibc's
backtrace(3). This fixes asserts in lmdbg-stat(1).
- Double "0x" in "info section" were fixed (seen on NetBSD).
- backtrace(3) from libexecinfo is used instead of builtin
implementation if the library and execinfo.h are available
- Fixes. Sometimes addresses were converted to symbols
incorrectly. The problem was seen on modern Linux distros with
- Now incompletly read lines (having no LF in the end) are
ignored. This fixes crashes and therefore empty output or
lmdbg(1) when analysed program is killed.
- Alternative implementation written in awk was removed.
Build infrastructure was converted to 2-level dirs.
This requires mk-configure>=0.23.0 for build.
Minor clean-ups in man pages and Makefiles.
| 2012-03-09 20:10:04 by Aleksey Cheusov | Files touched by this commit (1) |
clean-ups (adapted for recent mk-configure)
| 2012-01-09 20:47:36 by Aleksey Cheusov | Files touched by this commit (3) | |
Update to lmdbg-1.0.0
Remove signal handlers and other garbage.
All we need is __builtin_frame_address and __builtin_return_address
builtins and nothing else.
Documentation files have been moved to subproject "doc".
Run "mkcmake install-doc" for installing it (or change SUBPRJ_DFLT).
Only backtrace(3) in libc is accepted as an external implementation
of stacktrace(3). This may fix build failure on FreeBSD with