DBGMEM

Software screenshot:
DBGMEM
Software informatie:
Versie: 1.9.2
Upload datum: 3 Jun 15
Ontwikkelaar: Moser Michael
Licentie: Gratis
Populariteit: 21

Rating: nan/5 (Total Votes: 0)

Het werkt momenteel alleen voor Linux. DBGMEM is vrijgegeven onder de voorwaarden van de GNU Lesser General Public License
De tool helpt u om problemen zoals vinden
& Nbsp; 1. geheugenlekken
& Nbsp; 2. heap geheugen corruptie
& Nbsp; 3. Misbruik, illegale argument geselecteerde standaard bibliotheek functies.
& Nbsp; 4. stack corruptie
& Nbsp; 5. Het gebruik van vrijgekomen of niet-geïnitialiseerd heap geheugen.
& Nbsp; 6. Hiermee kunt u de functie uit te breiden, controleer argumenten extra API's
De tool overschrijft GLIBC geheugen toewijzing functies, het geheugen en string manipulatie functies om zijn functies toe te voegen.
DBGMEM geen wijzigingen in uw programma nodig, hoewel je zou willen om uw programma met het oog op een aantal geavanceerde functies gebruiken veranderen.
DBGMEM is een open source memory debugger voor C en C ++ programma's en draait onder het Linux besturingssysteem, en is vrijgegeven onder de GNU Lesser General Public License. DBGMEM voegt debuggen controles om delen van de van Glibc standaard bibliotheek; het wordt gehanteerd gedeelde bibliotheken die in de adresruimte van het proces opgespoord worden geladen.
Extra
DBGMEM heeft verschillende geheugen debugging tools, elk in de debugged programma kan worden geladen; De eenvoudige tool houdt alle toegewezen geheugen blokken, en voegt boekhouding informatie, zoals de stack op het moment dat het blok is toegewezen, in een arena header die het toegewezen geheugen blok voorafgaat; Het voegt ook een bewaker woord voor en na de toegewezen blok; De eenvoudige tool wordt het best gebruikt voor de detectie van geheugenlek problemen; als de arena header kan beschadigd zijn geraakt door het programma dat wordt opgespoord. Het controleren nam houdt alle boekhoudkundige informatie uit de stapel in een anoniem-Memory mapped file; dit maakt het hulpprogramma robuuster geheugen overschrijven bugs weerstaan. De tool controle voegt ook de mogelijkheid om snel informatie opzoeken op een heap blok voor een pointer waarde die binnen die hoop blok; het hulpmiddel controle voegt validatie van parameters om gemeenschappelijke string en geheugen manipulatie functies en controles voor mogelijke stack smashing door deze functies.
Werking
U kunt de meeste programma's lopen met de debugger zoals; het gereedschap niet de debugged programma moeten worden gekoppeld aan een specifieke bibliotheken; Het gereedschap is een gedeelde bibliotheek die in de adresruimte van een proces dat wordt gecontroleerd met behulp van de techniek van DLL-injectie wordt geladen. De LD_PRELOAD kenmerk van het dynamische linker wordt gebruikt om de instrumenten eerste gedeelde bibliotheek, voordat andere library laad laden; toewijzing van het geheugen en de string manipulatie functies worden onderschept en eerst opgeroepen uit het gereedschap bibliotheek; Dit maakt het mogelijk de tool om haar controles toe te voegen. Tijdens looptijd van het proces gedebugd grondstof rapport geschreven dat verder wordt verwerkt na beëindiging van het proces opgespoord; augmented rapport voegt symbolische functie namen aan de sporen in de rauwe rapport stapelen. De Gdb debugger wordt gebruikt om numerieke adressen in symbolische adressen te zetten tijdens de verdere verwerking van ruwe rapport

Eigenschappen .

  • geheugenlekken ; Dit geldt zowel voor het gereedschap controle- en eenvoudig gereedschap. De tool tracks elke toegewezen heap blok samen met stack trace genomen op het moment dat het blok werd toegewezen; bovendien een integer tag wordt gehouden met elke toewijzing deze waarde een logische circuits periode / `generatie" dat de tijd waarop het blok is toegewezen kenmerkt. Een verslag van deze informatie wordt altijd geproduceerd op proces verlaten, of op verzoek van de gebruiker. Deze informatie helpt om gevallen en oorzaken van geheugenlekken te vinden.
  • Gebruik van niet geïnitialiseerd heap geheugen of bevrijd heap geheugen; Dit geldt zowel voor het gereedschap controle- en eenvoudig gereedschap. De tool stelt alle nieuw toegewezen geheugen om bytewaarde 0xDD en al bevrijd geheugen om bytewaarde 0xEE; gebruik van deze waarden leidt meestal tot fouten programmeren indien dit geheugengebied bevat een pointer, dan dereferentie een pointer met waarde 0xDDDDDDDD leidt tot een crash.
  • Heap geheugen corruptie; Dit geldt zowel voor het gereedschap controle- en eenvoudig gereedschap. De tool controleert voor het geheugen overschrijft en onderschrijft door het plaatsen van een memory prefix en suffix aan elke hoop blok; indien de waarde van de suffix dan wordt veranderd heap overschrijven / onderschrijven gedetecteerd.
  • Dit geldt voor de '' 'controle-instrument' '' alleen; Misbruik van string manipulatie functies van GLIBC en geheugen copy / verplaatsen functies van GLIBC; stack corruptie door die gecontroleerd functies De tool krijgt een eerste pas op gemeenschappelijke standaard bibliotheek functies, wordt gecontroleerd dat de functie een bestaande argument heap blok niet zal overschrijven; het wordt ook gecontroleerd of de stack van de thread niet wordt beschadigd.

Wat is nieuw in deze release:

  • Maak nu krijgt CFLAGS environment variabele
  • bouwen dbgmem bibliotheek met -ldl optie
  • gedeelde bibliotheek is nu geplaatst in lib / $ (uname -r) directory, zoals glibc is getrouwd met de kernel versie.
  • fix compilatie op sommige systemen (configure stap)
  • toe te voegen optie om script (-m - genereren stack sporen alleen voor een aantal generaties)

Wat is nieuw in versie 1.9.1:

  • maken script bijgewerkt, probeert nu te detecteren vereiste gebouwde instellingen; nog steeds niet nu hoe automake doen alsof
  • compilatie fout in C-modus voor gcc 2.9.6 vastgesteld; GCC crasht nog steeds met interne fout op C ++ mode gebouwd
  • toegevoegd optie -g (uitschakelen cheque voor het koppelen van malloc / new / new [] en gratis / verwijderen / delete [] in C ++ modus)

Wat is nieuw in versie 1.7:

  • toegevoegd optie -F vork en exec gesprekken te volgen (zoals in vork / exec)
  • drukt nu op de opdrachtregel van de debugged proces in header van het rapport van het bestand.
  • kaart bestandsnaam bevat nu pid.
  • raw rapport bestanden verwijderen standaard; zijn er te veel van hen;
  • alle toepassingen van sprintf veranderd snprintf

Vergelijkbare software

interruptingcow
interruptingcow

14 Apr 15

exude
exude

20 Feb 15

strace
strace

23 Nov 17

termdebug
termdebug

20 Feb 15

Reacties op DBGMEM

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