Mpatrol er et bibliotek som gir kraftige debugging mens diagnostisering runtime feil som er forårsaket av feil bruk av dynamisk allokert minne. Det fungerer som en malloc () debugger for debugging dynamiske minnetildelinger, men det kan også spore og profil samtaler til malloc () og gratis () også. Hvis du ikke vet hva malloc () -funksjonen eller operatør ny [] gjøre da dette biblioteket er sannsynligvis ikke for deg. Du må ha en viss programmering kompetanse og kunnskap om hvordan man skal kjøre en kommandolinje kompilator og linker før du bør forsøke å bruke dette.
Sammen med å gi en helhetlig og konfigurerbar logg over alle dynamiske minne operasjoner som skjedde i løpet av levetiden av et program, utfører mpatrol bibliotek omfattende kontroll for å oppdage eventuelle misbruk av dynamisk allokert minne. Alt dette funksjonaliteten kan integreres i eksisterende koden gjennom inkludering av en enkelt header fil ved kompilering-tid. På UNIX og Windows-plattformer (og AmigaOS når du bruker GCC), kan ikke engang være nødvendig ettersom mpatrol biblioteket kan ha sammenheng med eksisterende objektfiler på link-tid, eller på noen plattformer, selv dynamisk knyttet til eksisterende programmer på kjøring.
All logging og sporing utgang fra mpatrol biblioteket sendes til en egen logg-fil for å holde sine diagnostikk atskilt fra noen at programmet blir testet kan generere. Et bredt utvalg av bibliotek innstillingene kan også endres ved run-time via en miljøvariabel, og dermed fjerne behovet for å rekompilere eller kobler på nytt for å endre bibliotekets oppførsel.
En fil som inneholder en oppsummering av de minnetildeling profilering statistikk for et bestemt program kan produseres ved mpatrol biblioteket. Denne filen kan deretter leses av en profilering verktøy som vil vise et sett med tabeller basert på akkumulerte data. Den profilering informasjon omfatter sammendrag av alle de minnetildelinger oppført av størrelse og funksjon som tildeles dem og en liste over minnelekkasjer med samtalen stabelen av allokering funksjon. Det inkluderer også en graf over alle minnetildelinger oppført i tabellform, og en valgfri graf spesifikasjon fil for senere behandling av dot grafen visualisering pakken.
En fil som inneholder en kortfattet kodet spor av alle minne bevilgninger og deallocations laget av et program kan også produseres ved mpatrol biblioteket. Denne filen kan deretter leses av en sporing verktøy som vil dekode spor og vise hendelsene i tabellform eller grafisk form, og også vise noen relevant statistikk som kan beregnes.
Den mpatrol biblioteket har blitt designet med tanke på å erstatte samtaler til eksisterende C og minnetildeling funksjoner C ++ så sømløst som mulig, men i mange tilfeller som kanskje ikke er mulige og små kode modifikasjoner kan være nødvendig. Imidlertid er en preprosessor makro inneholder versjonen av mpatrol biblioteket gitt i forbindelse med betinget kompilering, slik at utgivelsen bygger og debug bygger lett kan automatiseres.
Hva er nytt denne utgivelsen:.
- Lagt bedre logging for diagnostiske meldinger
- Lagd mye bedre autoconf, auto og libtool støtte.
- Lagt foreløpig HTML loggfil støtte med HTML-alternativet.
- sjekker Biblioteket nå for å sikre at det ikke var noen problemer med å skrive profilering og sporing utdatafiler.
- Lagt bedre Tru64 trådsikker støtte.
- Fast et problem å finne symboler for a.out objekt fil format.
- Faste diagnostikk for antall symboler som leses fra Windows DLL-filer.
- Fikset en bug som beregnet feil totale størrelsen på merkede bevilgninger.
- mpatrol kommandoen har nå --read-env alternativ for å bruke de eksisterende innholdet i MPATROL_OPTIONS miljøvariabelen.
- mpsym kommandoen oppdager automatisk nå 64-bit-støtte og har nå --skip alternativet. Kildekoden kompilerer nå skikkelig på BSD systemer.
Kommentarer ikke funnet