Lmdbg. Ranking & Zusammenfassung
- Lizenz:
- MIT/X Consortium Lic...
- Name des Herausgebers:
- Aleksey Cheusov
Lmdbg. Stichworte
Lmdbg. Beschreibung
Leichter Malloc Debugger. LMDBG ist eine Anwendung, mit der das Erkennen von Speicherlecks und doppelt freien Frees ermöglicht wird. Im Gegensatz zu anderen generiert LMDBG jedoch * Full * stacktracesand, trennt die Protokollierung von der Analyse, wodurch eine Anwendung auf pro-Modul-Basis analysiert wird. - LMDBG-Run ist ein Haupt-LMDBG-Dienstprogramm. Es läuft eine Anwendung und erstellt eine Protokolldatei (oder ein FIFO), in der alle mit dem Namen Malloc / Calcoc / RealLoc / Free / Memalign / POSIX_MEMALIGN-Inspektion mit ihrem Eingang (Bytes Count, Zeiger), Ausgang (Zeiger) und (!!! Uniques) erstellt werden Feature !!!) Full Stacktrace (Zeiger) .Example: $ cat tests / test2.c #include int main () {void * p1 = null; void * p2 = null; P1 = Malloc (555); P2 = Realloc (P2, 666); P2 = Realloc (P2, 777); P2 = Realloc (P2, 888); Rückgabe 0; } $ GCC -O0 -G -O _Test2 Tests / test2.c $ lmdbg-run -o _log ./_test2 $ cat _log malloc (555) -> 0xbb9014000xbbbe58e80xbbbe5b030x80487380x80485840x80484E7 Realloc (null, 666) -> 0xbb9018000xbbbe58e80xbbbe5a370x804874e 0x80485840x80484e7 realloc (0xbb901800, 777) -> 0xbb901c000xbbbe58e80xbbbe5a370x80487640x80485840x80484e7 realloc (0xbb901c00, 888) -> 0xbb9018000xbbbe58e80xbbbe5a370x804877a 0x80485840x80484e7 $ HINWEIS: Vollstacktrace ermöglicht es Ihnen, Ihre Anwendung zu analysieren, dh Sie kann erkennen, welche Blöcke / Komponenten mehr Speicher erfordern als andere und warum. LMDBG-SYM ist ein sehr wichtiges Werkzeug, das unten ist. 0xbbbe5a370x804877a 0x80485840x80484E7 Malloc (555) -> 0xbb9014000xbbbe58E80xbbbe5b030x80487380x80485840x80484E7 $ - LMDBG-sym konvertiert Adressen an source.c: 999 Wenn es möglich ist (GDB (1) ist in Aktion): $ lmdbg-sym ./ _test2 _log malloc (555) -> 0xbb9014000xbbbe58e80xbbbe5b030x8048738 tests / test2.c: 8 Haupt 0x80485840x80484e7 realloc (NULL, 666) -> 0xbb9018000xbbbe58e80xbbbe5a370x804874e tests / test2.c: 9 Haupt 0x80485840x80484e7 realloc (0xbb901800, 777) -> 0xbb901c000xbbbe58e80xbbbe5a370x8048764 Tests / test2.c: 10 Haupt 0x80485840x80484e7 realloc (0xbb901c00, 888) -> 0xbb9018000xbbbe58e80xbbbe5a370x804877a Tests / test2.c: 11 Haupt 0x80485840x80484e7 $ Beispiel (addr2line (1) Werke Hier): $ lmdbg-sym -a ./_test2 _log malloc (555 ) -> 0xbb9014000xbbbe58e80xbbbe5b030x8048738 tests / test2.c: 80x80485840x80484e7 realloc (NULL, 666) -> 0xbb9018000xbbbe58e80xbbbe5a370x804874e tests / test2.c: 90x80485840x80484e7 realloc (0xbb901800, 777) -> 0xbb901c000xbbbe58e80xbbbe5a370x8048764 Tests / test2.c: 100x80485840x80484e7 realloc (0xbb901c00, 888) -> 0xbb9018000xbbbe58e80xbbbe5a370x804877a Tests / test2.c: 110x80485840x80484e7 $ - lmdbg-sysleaks - greps oder überspringt Lecks Systemspeicher in libc gefunden, libdl , C ++ - STL usw. siehe Tests / LMDBG * .conf-Dateien. Die Standardkonfigurationsdateien sind: ~ / .lmdbg.conf und /etc/lmdbg.conf- lmdbg = lmdbg-run + lmdbg-leckt + lmdbg-sym + lmdbg-sysleaksthat ist lmdbg ist ein All-in-One-Tool mit höherem Niveau. Beispielexample : $ lmdbg -v -o _log ./_test2 Speicherlecks wurden erkannt und in Datei '_log' $ Cat _log realloc (0xbb901c00, 888) -> 0xbbBB9018000xBBBE58E80xbbbe5a370x804877A tests / test2.c: 11 main 0x80485840x80484E7 malloc ( 555) -> 0xBB9014000xbbbe58e80xbbbe5b030x8048738 Tests / test2.c: 8 Main 0x80485840x80484E7 $
Lmdbg. Zugehörige Software