DBGMEM

Skjermbilde programvare:
DBGMEM
Prog.varedetaljer:
Versjon: 1.9.2
Last opp dato: 3 Jun 15
Utvikler: Moser Michael
Lisens: Gratis
Popularitet: 21

Rating: nan/5 (Total Votes: 0)

Det fungerer foreløpig bare for Linux. DBGMEM er utgitt under GNU Lesser General Public License
Verktøyet hjelper deg å finne problemer som
& Nbsp; 1. minnelekkasjer
& Nbsp; 2. heap minne korrupsjon
& Nbsp; 3. Misbruk, ulovlig argument til utvalgte standardbibliotekfunksjoner.
& Nbsp; 4. stable korrupsjon
& Nbsp; 5. Bruk av frigjort eller un-initialisert heap minne.
& Nbsp; 6. Lar deg å forlenge verktøyet, sjekk ekstra API argumenter
Verktøyet styrer glibc minnetildeling funksjoner, hukommelse og streng manipulasjon funksjoner for å legge funksjonene.
DBGMEM krever ingen endringer i programmet, selv om du kanskje ønsker å endre programmet for å bruke noen avanserte funksjoner.
DBGMEM er en åpen kildekode-minne debugger for C og C ++ programmer og kjører under Linux operativsystem, og er utgitt under GNU Lesser General Public License. DBGMEM legger debugging kontrollerer deler av av Glibc standard bibliotek; det er implementert som delte biblioteker som er lastet inn i adresserommet til feilsøkt prosess.
Verktøy
DBGMEM har flere minne debugging verktøy, som hver kan legges i den feilsøkes program; The Simple verktøyet holder styr på alle tildelte minneblokker, og legger til bokføring informasjon, som stabelen på den tiden da blokken ble tildelt, til en arena header som står foran allokert minne blokk; det legger også en vakt ord før og etter den tildelte blokker; Den enkle verktøy er best brukt for påvisning av minnelekkasje problemer; som arena header kan bli ødelagt av programmet som blir feilsøkt. Den sjekker tok holder all bokføring informasjon av stabelen i en anonym Memory-kartlagt fil; Dette gjør verktøyet mer robust til å tåle minneskrive bugs. Kontrollen verktøyet legger også evnen til raskt å slå opp informasjon om noen heap blokk for en peker verdi finnes det heap blokk; verifikasjon verktøyet legger validering av parametre til felles string og minne manipulasjon funksjoner, og sjekker for mulig stabelen knusende av disse funksjonene.
Operasjonsmodus
Du kan kjøre de fleste programmer med debugger som er; verktøyet krever ikke feilsøkt program å være knyttet til noen bestemte biblioteker; Verktøyet er et delt bibliotek som er lastet inn i adresseområdet av en prosess som kontrolleres ved hjelp av teknikken av DLL Injection. Den LD_PRELOAD funksjon i Dynamic linker brukes til å laste de verktøyene delte biblioteket først, før noen andre bibliotek er lastet; minnetildeling og streng manipulasjon funksjon blir fanget opp og først kalte fra verktøyet biblioteket; Dette gjør det mulig for verktøyet til å legge sin undersøkelse. Under kjøring av feilsøkt prosess en rå Rapporten er skrevet som er videre bearbeidet etter opphør av feilsøkt prosess; augmented rapporten legger symbolske funksjon navn for å stable spor som finnes i rå rapporten. GDB debugger brukes til å skru numeriske adresser til symbolske adresser under videre behandling av rå rapport

Egenskaper :.

  • minnelekkasjer ; Dette gjelder både sjekking verktøy og enkle verktøy. Verktøyet sporer hver tildelt haug blokk sammen med stakksporingen tatt på tidspunktet da blokken ble tildelt; i tillegg et heltall tag holdes med hver tildeling, denne verdien sporer en logisk periode / `generasjon" som preger den tiden da blokken ble tildelt. En rapport av denne informasjonen er alltid produsert på prosessavslutning, eller på forespørsel fra brukeren. Denne informasjonen bidrar til å finne forekomster og årsaker til minnelekkasjer.
  • Bruk av ikke initialisert heap minne eller frigjort heap minne; Dette gjelder både sjekking verktøy og enkle verktøy. Verktøyet setter alle nylig tildelt minne for å byte verdi 0xDD og all frigjort minne for å byte verdi 0xEE; Bruken av disse verdiene fører vanligvis å programmere feil, hvis dette minneområdet inneholder en peker, deretter dereferencing av en peker med verdi 0xDDDDDDDD vil føre til krasj.
  • Heap minne korrupsjon; Dette gjelder både sjekking verktøy og enkle verktøy. Verktøyet ser etter minne overskriver og underwrites ved å plassere en minne prefiks og suffiks på hver haug blokk; dersom verdien av suffikset endres deretter en haug skrivings / garantere er oppdaget.
  • Dette gjelder '' 'sjekker verktøyet' '' bare; Misbruk av streng manipulasjon funksjoner av glibc og minne kopiere / flytte funksjoner av glibc; stable korrupsjon av disse sjekket funksjoner Verktøyet får en første pass på felles standard biblioteksfunksjoner, sjekkes det at funksjonen ikke vil overskrive en eksisterende argument haug blokk; det er også sjekket at bunken med kallet tråden ikke vil bli ødelagt.

Hva er nytt i denne versjonen:

  • gjøre nå får CFLAGS miljøvariabelen
  • bygge dbgmem bibliotek med -ldl alternativ
  • delt bibliotek er nå plassert i lib / $ (uname -r) katalog, som glibc er gift med kjernen versjonen.
  • fix samling på noen systemer (konfigurere trinn)
  • legge muligheten til å kjøre script (-m - generere stack sporer bare for noen generasjoner)

Hva er nytt i versjon 1.9.1:

  • gjøre manuset oppdatert, nå prøver å finne nødvendig innebygget innstillinger; fortsatt ikke nå hvordan du gjør auto skjønt
  • kompilering feil i C-modus for gcc 2.9.6 fast; gcc fortsatt krasjer med intern feil på C ++ modus bygget
  • lagt alternativ -g (deaktivere sjekk for sammenkobling av malloc / nye / nytt [] og gratis / slette / slette [] i C ++ modus)

Hva er nytt i versjon 1.7:

  • ekstra mulighet -F følge gaffel og exec samtaler (som i gaffel / exec)
  • skriver nå ut kommandolinjen av feilsøkt prosess i overskriften på rapporten fil.
  • kart filnavn inneholder nå pid.
  • slett rå rapportfiler som standard; det er for mange av dem;
  • all bruk av sprintf endret til snprintf

Lignende programvare

LMDBG
LMDBG

20 Feb 15

jarvis
jarvis

20 Feb 15

otrace
otrace

20 Feb 15

Profiler4j
Profiler4j

3 Jun 15

Kommentarer til DBGMEM

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!