LMDBG

Software screenshot:
LMDBG
Software informatie:
Versie: 1.2.0
Upload datum: 20 Feb 15
Ontwikkelaar: Aleksey Cheusov
Licentie: Gratis
Populariteit: 16

Rating: nan/5 (Total Votes: 0)

LMDBG is een applicatie die het mogelijk maakt het opsporen van geheugen leaksand dubbele bevrijdt & nbsp;. Echter, in tegenstelling tot anderen, LMDBG genereert * FULL * stacktracesand scheidt het inloggen van analyse thusallowing naar een toepassing op per-module basis te analyseren.
- lmdbg-run is een van de belangrijkste lmdbg nut. Het loopt een toepassing en maakt een logbestand (of fifo), waar alle genaamd malloc / calloc / realloc / vrij / memalign / posix_memalign aanroepingen zijn geregistreerd bij hun inbreng (bytes tellen, pointer), uitgang (pointer) en (!!! uniques functie !!!) FULL stacktrace (pointers).
Voorbeeld:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Cat testen / test2.c
& Nbsp; & nbsp; & nbsp; & nbsp; #include
& Nbsp; & nbsp; & nbsp; & nbsp; int main ()
& Nbsp; & nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; leegte * p1 = NULL;
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; leegte * p2 = NULL;
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; p1 = malloc (555);
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; p2 = realloc (p2, 666);
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; p2 = realloc (p2, 777);
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; p2 = realloc (p2, 888);
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0 terugkeren;
& Nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; & nbsp; $ Gcc -O0 -g -o _test2 testen / test2.c
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-run -o _log ./_test2
& Nbsp; & nbsp; & nbsp; & nbsp; $ Cat _log
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (NULL, 666) -> 0xbb901800
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804874e
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901800, 777) -> 0xbb901c00
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048764
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
NB: Volledige stacktrace kunt u uw applicatie te analyseren, dat wil zeggen je kan ontdekken wat blokken / componenten meer geheugen nodig hebben dan anderen en waarom. lmdbg-sym is een zeer belangrijk instrument voor deze, zie hieronder.
- lmdbg-lekken analyseert een logbestand gegenereerd door lmdbg-run en output alle gevonden memory leaks
Voorbeeld:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-lekken _log & nbsp; & nbsp;
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
- lmdbg-sym zet adressen aan source.c: 999 als het mogelijk is
Voorbeeld (gdb (1) is in actie):
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-sym ./_test2 _log
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 8 belangrijkste
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (NULL, 666) -> 0xbb901800
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804874e & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 9 belangrijkste
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901800, 777) -> 0xbb901c00
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048764 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 10 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hoofd-
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hoofd-
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
Voorbeeld (addr2line (1) werkt hier):
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-sym -a ./_test2 _log
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (NULL, 666) -> 0xbb901800
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804874e & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 9
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901800, 777) -> 0xbb901c00
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048764 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 10
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 11
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
- lmdbg-sysleaks - greps of slaat het systeem geheugen lekken gevonden in libc, libdl, C ++ stl etc. Zie testen / lmdbg * .conf bestanden. De standaard config files zijn: ~ / .lmdbg.conf en /etc/lmdbg.conf
- lmdbg = lmdbg-run + lmdbg-lekken + lmdbg-sym + lmdbg-sysleaks
Dat is lmdbg is alles-in-een hoger niveau tool.
Voorbeeld:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg -v -o _log ./_test2
& Nbsp; & nbsp; & nbsp; & nbsp; Geheugenlekken werden gedetecteerd en worden opgeslagen in het bestand '_log'
& Nbsp; & nbsp; & nbsp; & nbsp; $ Cat _log
& Nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; hoofd-
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; testen / test2.c: 8 belangrijkste
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $

Wat is nieuw in deze release:

  • lmdbg-sym niet langer segfaults vanwege problemen met stacktrace (3).
  • Een veel eenvoudiger en correcte adres conversie methode werd toegevoegd.
  • Er waren aanzienlijke snelheidswinst te wijten aan optimalisaties voor gdb.
  • In lmdbg-run, GLIBC malloc haken niet meer worden gebruikt.
  • eigen code lmdbg's is niet opgenomen in stacktrace.
  • Een nieuwe -N optie werd toegevoegd, en de -v optie kreeg een kleine fix.
  • lmdbg-stat ontvangen fixes voor een NULL dereferentie dat verscheen als een gratis (3) of realloc (3) stacktrace was zonder een geschikte malloc / realloc (3) stacktrace.
  • Er waren andere kleine fixes en verbeteringen, verbeteringen in de regressietesten, en verbeteringen in stacktrace (3).

Wat is nieuw in versie 1.1.0:.

  • Een fix in regressietesten
  • lmdbg-run: zero-adressen worden verwijderd uit stacktrace gegenereerd door glibc's backtrace (3)
  • .
  • Dit lost beweert in lmdbg-stat (1).
  • Dubbel & quot; 0x & quot; kwesties in de & quot; info sectie & quot; werden vastgesteld (gezien op NetBSD).
  • backtrace (3) uit libexecinfo (indien beschikbaar) wordt gebruikt in plaats van de ingebouwde implementatie.
  • lmdbg-sym:. Een paar foutjes in de omzetting van de adressen van de symbolen
  • lmdbg-stat: onvolledig gelezen lijnen worden nu genegeerd, zodat er niet meer te doen gelden (3) s wanneer een toepassing waarin fouten worden opgespoord wordt gedood
  • .
  • Een alternatieve implementatie geschreven in awk werd verwijderd.

Wat is nieuw in versie 0.17.0:

  • Deze versie voegt veel verbeteringen en fixes in manual pagina's, nieuwe mogelijkheden in lmdbg, lmdbg-run, en lmdbg-sym, en kleine fixes te lmdbg-stat.
  • lmdbg is nu een meta-tool die in staat is om veel meer dingen te doen, niet alleen maar vinden het geheugen lekken.

Wat is nieuw in versie 0.15.1:

  • Logging van calloc (3) invocaties is uitgeschakeld op glibc-gebaseerde systemen (Linux, GNU / kFreeBSD, en misschien anderen) omdat lmdbg-run niet op hen.
  • Minor clean-ups, fixes en verbeteringen. mk-configure & gt;. = 0,20 is nodig voor de bouw

Wat is nieuw in versie 0.14.0:

  • Nieuwe tools: lmdbg-stat, lmdbg-grep en lmdbg-soort voor het verzamelen en analyseren van statistische informatie over geheugentoewijzingen.
  • lmdbg-run: nieuwe opties voor lmdbg-run:. -S En -M voor het genereren van verkorte stacktrace
  • lmdbg-sym:. Nieuwe optie -p voor het verkrijgen van programmanaam uit uitgang lmdbg-run's
  • fix: 'mkcmake test "verwijdert de tijdelijke bestanden
  • .

Vergelijkbare software

Visual xsltproc
Visual xsltproc

2 Jun 15

jarvis
jarvis

20 Feb 15

rpdb
rpdb

14 Apr 15

Andere software van ontwikkelaar Aleksey Cheusov

DictEm
DictEm

20 Feb 15

paexec
paexec

20 Feb 15

runawk
runawk

19 Feb 15

mk-configure
mk-configure

20 Feb 15

Reacties op LMDBG

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!