Checker

Checker kan helpen om bugs te vinden die standaardhulpmiddelen niet altijd kunnen vinden.
Download nu

Checker Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Tristan Gingold
  • Uitgever website:
  • http://www.gnu.org/software/checker/

Checker Tags


Checker Beschrijving

checker kan helpen bugs die standaard gereedschap niet altijd kunnen vinden. checker kan helpen bugs die standaard gereedschap niet altijd kunnen vinden. Het beste voorbeeld is geheugenlekken. Geheugenlek is een gebied van het geheugen met malloc die niet meer gebruikt wordt toegewezen. Dus het toegewezen geheugen is lost.This middelen die u programma moet meer geheugen en loopt langzamer, aangezien uw OS zou kunnen hebben om te beginnen met het omwisselen. Het detecteert slechte geheugentoegangen zoals: lezen geïnitialiseerd geheugen, schrijven in een bevrijde zone, schrijven of lezen buiten een geheugenblok en gebruik NULL pointers. Dit is vooral handig voor grote programma's met veel functions.Checker onderhoudt bitmaps bij te houden van de status van elke byte van het geheugen te houden. De status kan beschrijfbare, leesbaar, beide of niet zijn. Als het geheugen wordt toegewezen, het nieuwe geheugen wordt pas write-: het is niet toegestaan om het te lezen omdat het niet initialized.But is wanneer je je schrijven op deze nieuwe blok, die bytes worden leesbaar en beschrijfbaar. Wanneer het blok wordt bevrijd, de bytes onleesbaar en onschrijfbare. Rode zones zijn onleesbaar en onschrijfbare geheugen, zodat elke toegang tot een rode zone levert een warning.Example: Hier is een nep bestand example.c: #include int main () {char * zone = malloc (20) ; char * ptr = NULL; int i; char c; c = zone ; / * Fout: las een geïnitialiseerde char * / c = zone ; / * Error: lezen voordat de zone * / zone = ' '; / * Error: write nadat de zone * / * ptr = 2; / * Fout: gebruik een NULL pointer moet produceren kern * /} Om dit voorbeeld compileren Checker gebruikt u checkergcc plaats van gcc:% checkergcc -o bijvoorbeeld example.c Vervolgens werd aan het voorbeeld uitvoeren:% ./exampleExecution produceert deze waarschuwingen: Checker 0,9 (sparc-sun-solaris2.5.1) Copyright (C) 1998 Tristan Gingold.Checker is een geheugentoegang detector.Checker wordt verspreid in de hoop dat het nuttig zal zijn, maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie ofMERCHANTABILITY of geschiktheid voor een bepaald doel. Bekijk de GNUGeneral Public License voor meer details.For meer informatie, stelt CHECKEROPTS op `--help'From Checker (PID: 04713):` ./example' wordt uitgevoerd (Sun januari 1814:56:491998) Van Checker ( pid: 04713): (ruh) lees geïnitialiseerde byte (s) in een block.When Reading 1 byte (s) bij het adresseren 0x000398a1, in de hoop (sbrk) 0,1 bytes in een blok (start: 0x398a0, lengte: 20, mdesc: 0x0) .De blok werd toegewezen uit: pc = 0x00022f1c in chkr_malloc bij ../stubs/stubs-malloc.c:51 pc = 0x0001339c in de belangrijkste bij ../example.c:7 pc = 0x000155f0 bij opstarten op. ./config/sparc/solaris2/startup.c:148 pc = 0x00013298 in * onbekend * op * onbekend *: 0Stack frames zijn: pc = 0x000133f4 in de belangrijkste bij ../example.c:12 pc = 0x000155f0 bij opstarten op. ./config/sparc/solaris2/startup.c:148 pct = 0x00013298 in * * in * onbekend onbekend *: 0From Checker (pid: 04713): (BVH) blok begrenst schending in de heap.When Reading 1 byte (s) op het adres 0x0003989e, in de hoop (sbrk) 0,2 bytes voor een blok (start: 0x398a0, lengte: 20, mdesc: 0x0) .De blok was alloca ted uit: pc = 0x00022f1c in chkr_malloc bij ../stubs/stubs-malloc.c:51 pc = 0x0001339c in de belangrijkste bij ../example.c:7 pc = 0x000155f0 bij opstarten op ../config/sparc/solaris2/ startup.c: 148 pc = 0x00013298 in * onbekend * op * onbekend *: 0Stack frames zijn: pc = 0x00013434 in de belangrijkste bij ../example.c:13 pc = 0x000155f0 bij opstarten op ../config/sparc/solaris2/ startup.c: 148 pc = 0x00013298 in * onbekend * op * onbekend *: 0From Checker (PID: 04713): (BVH) blok begrenst schending in de heap.When Writing 1 byte (s) op het adres 0x000398b9, in de hoop ( sbrk) 0,5 bytes na een blok (start: 0x398a0, lengte: 20, mdesc: 0x0) .De blok is toegewezen uit: pC = 0x00022f1c in chkr_malloc ten ../stubs/stubs-malloc.c:51 pct = 0x0001339c in main bij ../example.c:7 pc = 0x000155f0 in startup bij ../config/sparc/solaris2/startup.c:148 pc = 0x00013298 in * onbekend * op * onbekend *: 0Stack frames zijn: pc = 0x0001345c in main bij ../example.c:14 pc = 0x000155f0 in startup bij ../config/sparc/solaris2/startup.c:148 pc = 0x00013298 in * onbekend * op * onbekend *: 0From Checker (PID: 04713): (NZa) nulzone addressed.When Writing 1 byte (s) op het adres 0x00000000, binnen de NULL zone.You waarschijnlijk deferenced een null pointer.THIS MOETEN VEROORZAKEN Een SEGMENTATION FAULT.Stack frames zijn: pc = 0x0001347c in de belangrijkste bij ../example.c:15 pc = 0x000155f0 in startup bij ../config/sparc/solaris2/startup.c:148 pc = 0x00013298 in * onbekend * op * onbekend *: 0From Checker (PID: 04713) : (sig) signal.Receive signaal 11 (SEGV) (standaard actie: beëindigen kern) .Segmentation fout


Checker Gerelateerde software

Moblin

Een Intel-gesponsorde Linux-distributie voor netbooks en mobiele apparaten ...

187

Downloaden