Valgrind

Software skärmdump:
Valgrind
Mjukvaruinformation:
Version: 3.10.1
Ladda upp dagen: 17 Feb 15
Utvecklare: Valgrind Developers
Licens: Gratis
Popularitet: 154

Rating: 4.3/5 (Total Votes: 3)

Valgrind är ett open source-program som ger mjukvaruutvecklare med en av de bästa och mest använda verktyg för automatisk upptäckt av minnesgäng och förvaltning buggar på sina projekt.
Med andra ord kan den användas för att kraftigt påskynda dina program. Det & rsquo; s kommandoraden ansökan körningarna endast på Linux konsolen eller en X11 terminal emulator.State-of-the-art funktioner och functionalityKey funktioner inkluderar minnesfel detektor, heap profiler, gren-prognos och cache profiler, detektorer tråden fel, samt call-grafgenere gren-prediktion och cache profiler.
Dessutom levereras den med flera experimentella verktyg, såsom global och stack array överskridande detektor, SimPoint basblock vektor generator, och andra högen profiler.
Programmet stöder ett brett utbud av program skrivna i olika programmeringsspråk, såsom C, C ++, Python, Perl, Java, Fortran, assemblerkod, och många andra.
Det & rsquo; s består av flera användbara verktyg för minnes felsökning, profilering och upptäckt av minnesläckor. Dessa inkluderar MemCheck, Addrcheck, Cachegrind, Callgrind, None, Massif, exp-sgcheck, exp-BBV, exp-Dhat, Helgrind och DRD.
Det fungerar bra på GNU / Linux, Android, Mac OS X-operativsystem. Arkitekturer stöds inkluderar x86, kan amd64, ARM, PPC32, PPC64, s390x, MIPS32, MIPS64 och ARM.Availability och under hoodThe programmet laddas ner från den särskilda sektionen (se ovan) endast som en källa arkiv, vilket kan vara configure, sammanställas och installeras på alla Linux-baserat operativsystem.
Däremot kan användarna installera Valgrind direkt från standardprogramförråd av sina Linux-distributioner. Operativsystem som stöds inkluderar Debian Red Hat, Mandriva, openSUSE, Arch Linux, Slackware, Gentoo och others.Bottom LineIn Sammanfattningsvis är Valgrind en unik applikation som ska användas av alla programutvecklare att påskynda sina program och eliminera otäcka minnes buggar och läckor.
Det & rsquo; s en prisbelönt programvara som har med framgång använts för forskningsändamål på MIT, Cambridge, UC Berkeley, Carnegie Mellon, UC Santa Barbara, Cornell, och många andra universitet runt om i världen

Vad är nytt i den här versionen:

  • 3.10.1 är en buggfix release. Det fixar olika buggar som rapporterats i 3.10.0 och backports fixar för alla rapporterade saknade AArch64 ARMv8 instruktioner och syscalls från stammen. Om du paketerar eller leverera 3.10.0 för andra att använda, kanske du vill överväga att uppgradera till 3.10.1 istället.

Vad är nytt i version 3.10.0:

  • 3.10.0 är en funktion frigivning med många förbättringar och den vanliga samlingen av buggfixar.
  • Den här versionen stöder X86 / Linux, AMD64 / Linux, ARM32 / Linux, ARM64 / Linux, PPC32 / Linux, PPC64BE / Linux, PPC64LE / Linux, s390x / Linux, MIPS32 / Linux, MIPS64 / Linux, ARM / Android, MIPS32 / Android, X86 / Android, X86 / MacOSX 10.9 och AMD64 / MacOSX 10.9. Stöd för MacOSX 10,8 och 10,9 är avsevärt förbättrad i förhållande till den 3.9.0 release.

Vad är nytt i version 3.9.0:

  • Den här versionen stöder X86 / Linux, AMD64 / Linux , ARM / Linux, PPC32 / Linux, PPC64 / Linux, s390x / Linux, MIPS32 / Linux, MIPS64 / Linux, ARM / Android, X86 / Android, X86 / MacOSX 10.7 och AMD64 / MacOSX 10.7. Stöd för Mac OS X 10.8 är avsevärt förbättrad i förhållande till 3.8.0 release.
  • Plattform FÖRÄNDRINGAR:
  • Stöd för MIPS64 LE och BE kör Linux. Valgrind har testats på MIPS64 Debian Squeeze och Debian Wheezy distributioner.
  • Stöd för MIPS DSP ASE på MIPS32 plattformar.
  • Stöd för s390x Decimal Floating Point instruktioner om värdar som har DFP anläggningen installerats.
  • Stöd för POWER8 (Ström ISA 2.07) instruktioner
  • Stöd för Intel AVX2 instruktioner. Detta är endast tillgängligt på 64 bitars kod.
  • Inledande stöd för Intel Transactional Synkronisering Extensions, både RTM och HLE.
  • Inledande stöd för hårdvara Transactional Memory på STRÖM.
  • Förbättrat stöd för MacOSX 10,8 (64-bitars). MemCheck kan nu köra stora GUI apps någorlunda väl.
  • verktygsbyten:
  • MemCheck:
  • Förbättringar i hanteringen av vectorized kod, vilket leder till betydligt färre falsk felrapporter. Du måste använda flaggan --partial-laster-ok = yes för att få nytta av dessa förändringar.
  • Bättre kontroll över läckan checker. Det är nu möjligt att ange vilka läckage slag (definitiv / indirekt / möjligt / nås) ska visas, vilket bör betraktas som fel, och som bör undertryckas av en given läcka förtryck. Detta görs med hjälp av optioner --show-läckage-slag = kind1, kind2, .., --errors-för-läckage slag = kind1, kind2, .. och en valfri & quot; match-läckage slag: & quot; linje i undertryckningsposter, respektive. Observera att genererade läckage suppressions innehåller denna nya linje och är därför mer specifika än i tidigare versioner. För att få samma beteende som tidigare utgåvor, ta bort & quot; matcha-läckage slag: & quot; linje från genererade suppressions innan du använder dem.
  • Minskad & quot; eventuell läcka & quot; rapporter från läckan checker genom användning av bättre heuristik. De tillgängliga heuristik ger detektering av giltiga inrednings pekare till std :: stdstring, nya [] tilldelade matriser med element som har destruktorer och inrednings pekare som pekar på en inre del av en C ++ invända att använda multipelt arv. De kan väljas individuellt med hjälp av alternativet --leak-check-heuristik = heur1, heur2, ...
  • Bättre kontroll av stacktrace förvärv för heap-tilldelade block. Använda alternativet --keep-stacktraces, är det möjligt att styra självständigt om en stack trace förvärvas för varje tilldelning och avallokering. Detta kan användas för att skapa bättre & quot; använda efter gratis & quot; fel eller minska Valgrind s resursförbrukning genom att spela in mindre information.
  • Bättre rapportering av läckage undertryckande användning. Listan över begagnade suppressions (visas när alternativet -v ges) visar nu, för varje läckage suppressions, hur många block och bytes det undertryckta under den senaste läckan sökning.
  • Helgrind:
  • Falska fel till följd av användningen av statiskt initieras mutexes och villkorsvariabler (PTHREAD_MUTEX_INITIALISER, etc) har tagits bort.
  • Falska fel till följd av användningen av pthread_cond_waits som timeout, har tagits bort.
  • ÖVRIGA FÖRÄNDRINGAR:
  • Någon försök att ställa Valgrind s utrymmeskraven till de förväntade funktionerna i målet:
  • Standardstorleken på översättningen cachen har minskats från åtta sektorer till 6 på Android plattformar, eftersom varje sektor upptar ungefär 40 MB vid användning MemCheck.
  • Standardstorleken på översättningen cachen har ökats till 16 sektorer på alla andra plattformar, vilket återspeglar det faktum att stora applikationer kräver instrumentering och lagring av stora mängder kod. Av liknande skäl har antalet minnesmappade segment som kan spåras ökats med en faktor 6.
  • I samtliga fall kan det maximala antalet sektorer i översättningen cachen kontrolleras av nya flagg --num-transtab sektorer.
  • Förändringar i hur debug info (radnummer, etc) läses:
  • Valgrind inte längre tillfälligt mmaps hela objektet för att läsa från den. Istället läsning sker genom en liten fast storlek buffert. Detta undviker användnings spikar virtuellt minne när Valgrind läser DebugInfo från stora delade objekt.
  • En ny experimentell fjärr debug info server. Valgrind kan läsa info debug från en annan maskin (vanligtvis en bygga värd) där DebugInfo objekt lagras. Detta kan spara mycket tid och besvär när du kör Valgrind på resursbegränsade mål (telefoner, tabletter) när de fullständiga DebugInfo objekten lagras någon annanstans. Detta möjliggörs av den --debuginfo-server = alternativet.
  • Konsekvens kontroll mellan huvud- och felsöka objekt kan avaktiveras med hjälp av --allow-inkompatibla-DebugInfo alternativet.
  • Stack avveckling av stacken skanning, på ARM. Unwinding genom stacken scanning kan återställa stackspår i vissa fall då de normala varva ner mekanismer misslyckas. Stack scanning är bäst beskrivas som & quot; en otäck, farlig och vilseledande hack & quot; och så är inaktiverad som standard. Använd --unw-stack-scan-tröska och --unw-stack-scan-frames för att aktivera och kontrollera den.
  • Upptäckt och sammanslagning av rekursiva stack ramcykler. När ditt program har rekursiva algoritmer, begränsar detta minne som används av Valgrind för inspelade stack spår och undviker inspelning ointressanta upprepade samtal. Detta styrs av kommandoraden alternativet --merge-rekursiv-ram och av monitorn kommandot & quot; v.set samman-rekursiva ramar & quot;.
  • Filnamn och radnummer för begagnade suppressions. Listan över begagnade suppressions (visas när alternativet -v ges) visar nu, för varje använt förtryck, filnamn och radnummer där förtrycket är definierad.
  • Nya och ändrade GDB server monitor funktioner:
  • valgrind.h har en ny klient begäran, VALGRIND_MONITOR_COMMAND, som kan användas för att exekvera gdbserver övervaka kommandon från klientprogrammet.
  • En ny bildskärm kommando, & quot;. V.info open_fds & quot ;, som ger listan över öppna fil deskriptorer och ytterligare detaljer
  • En valfri meddelande i & quot; v.info n_errs_found & quot; övervaka kommandot, till exempel & quot;. v.info n_errs_found testet 1234 slutade & quot ;, vilket gör en kommentar sträng som ska läggas till processresultatet, kanske för att separera fel av olika tester eller testfaser
  • En ny bildskärm kommandot & quot; v.info execontext & quot; som visar information om stack spår inspelade av Valgrind.
  • En ny bildskärm kommandot & quot; v.do expensive_sanity_check_general & quot; att köra vissa interna konsistenskontrollerna.
  • Ny flagga --sigill-diagnostik för att kontrollera om ett diagnostiskt meddelande skrivs när JIT möter en instruktion kan inte översätta. Den faktiska beteende - leverans av SIGILL till ansökan -. Är oförändrat
  • Den maximala mängden minne som Valgrind kan använda på 64 bitars målen har ökat från 32 GB till 64 GB. Detta bör göra det möjligt att köra program på MemCheck som nativt kräver upp till ca 35 GB.
  • Fast buggar:
  • Följande buggar har åtgärdats eller lösts. Observera att & quot; n-i-bz & quot;
  • står för & quot; inte i Bugzilla & quot; - Det vill säga en bugg som rapporterades till oss
  • men fick aldrig ett bugzilla post. Vi uppmuntrar dig att lämna buggar i
  • bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) snarare
  • än utskick utvecklarna (eller e-postlistor) direkt - buggar att
  • inte ingås bugzilla tenderar att få glömt eller ignoreras.
  • För att se detaljer om en viss bugg, besök https://bugs.kde.org/show_bug.cgi?id=XXXXXX där XXXXXX är bugg nummer som anges nedan.
  • 123.837 systemanrop: 4th argumentet är valfritt, beroende på cmd
  • 135.425 MemCheck ska berätta var Freed block var Mallocd
  • 164.485 VG_N_SEGNAMES och VG_N_SEGMENTS är (fortfarande) för liten
  • 207.815 Lägger några av de drm ioctls att syswrap-linux.c
  • 251.569 vex amd64- & gt; IR: 0xF 0x1 0xF9 0xbf 0x90 0xD0 0x3 0x0 (RDTSCP)
  • 252.955 Omöjligt att kompilera med ccache
  • 253.519 MemCheck rapporterar auxv pekaren åtkomst som ogiltigt läser.
  • 263.034 Crash vid lastning vissa ppc64 binärer
  • 269.599 Ökning djupast bakåtspårning
  • 274.695 s390x: Support & quot; jämför till / från logisk & quot; instruktioner (z196)
  • 275.800 s390x: Autodetect cache info (del 2)
  • 280271 Valgrind rapporterar möjliga minnesläckor på fortfarande nåbar std :: string
  • 284.540 MemCheck bör inte räkna suppressions matchning ändå-nåbar [..]
  • 289.578 bakåtspårningar skapas med ARM varva ner tabeller (stack skannings flaggor)
  • 296.311 Fel stack spår pga -fomit-frame-pointer (x86)
  • 304.832 ppc32: bygga misslyckande
  • 305.431 Använd find_buildid shdr reserv separata .debug filer
  • 305.728 Lägg till stöd för AVX2 anvisningar
  • 305.948 ppc64: kodgenerering för ShlD64 / ShrD64 hävdar
  • 306.035 s390x: Fix IR generering för Laag och vänner
  • 306.054 s390x: Condition kod beräkning för konvertera till int / logiskt
  • 306.098 s390x: suppleant opcode formulär för konvertera till / från fast
  • 306.587 Fix cache linjedetektering från hjälpvektor för PPC.
  • 306.783 Mips ohanterat syscall: 4025/4079/4182
  • 307.038 DWARF2 CFI läsare: ohanterat DW_OP_ opcode 0x8 (DW_OP_const1u m.fl.)
  • 307.082 HG falskt positivt: pthread_cond_destroy: förstörelse av okända CV
  • 307.101 sys_capget andra argumentet kan vara NULL
  • 307.103 sys_openat:. Om sökvägen är absolut, då dirfd ignoreras
  • 307.106 amd64- & gt; IR: F0 0f c0 02 (lås xADD byte)
  • 307.113 s390x: DFP support
  • 307.141 valgrind does't arbete i mips-linux-system
  • 307.155 filter_gdb bör filtrera ut syscall-template.S T_PSEUDO
  • 307.285 x86_amd64 funktion test för AVX i testsvit är fel
  • 307.290 MemCheck överlappning testcase behöver memcpy version filter
  • 307.463 Vänligen lägg till & quot; & limit = 0 & quot; till & quot; alla öppna buggar & quot; länk
  • 307.465 --show-möjligen-förlorade = ingen bör minska felet count / exit code
  • 307.557 Läckage på Mac OS X 10.7.5 bibliotek vid ImageLoader :: recursiveInit [..]
  • 307.729 pkgconfig stöd bruten valgrind.pc
  • 307.828 MemCheck falska fel SSE optimerad wcscpy, wcscmp, wcsrchr, wcschr
  • 307.955 Bygga valgrind 3.7.0-R4 misslyckas i Gentoo AMD64 när klang
  • 308.089 Ohanterat syscall på ppc64: prctl
  • 308.135 PPC32 MPC8xx har 16 byte cachestorlek
  • 308.321 testsuite MemCheck filter stör gdb_filter
  • 308.333 == 307.106
  • 308.341 vgdb bör rapportera processavslutning (eller dödlig signal)
  • 308.427 s390 MemCheck rapporter tsearch cjump / cmove beror på uninit
  • 308.495 Ta byggberoende på installerade Xen rubriker
  • 308.573 Internt fel på 64-bitars instruktioner exekveras i 32-bitarsläge
  • 308.626 == 308.627
  • 308.627 pmovmskb giltighets bit förökning är oprecis
  • 308.644 vgdb kommandot för att ha info om alternativet spår fds
  • 308.711 ger mer info om aspacemgr och arenor i out_of_memory
  • 308.717 ARM: implementera fast punkt VCVT.F64 [SU] 32
  • .
  • 308.718 ARM genomföra SMLALBB familj av instruktioner
  • 308.886 Missing stöd för PTRACE_SET / GETREGSET
  • 308.930 syscall name_to_handle_at (303 på amd64) inte hanteras
  • 309.229 V-bitars testare inte rapporterar antal tester genererade
  • 309.323 print oredovisade instuction på MIPS
  • 309.425 Ge en --sigill-diagnostik flagga för att undertrycka olagligt [..]
  • 309.427 SSE optimerad stpncpy trigger uninitialised värde [..] fel
  • 309.430 Själv värd ppc64 stöter på ett vassert fel på operand typ
  • 309.600 valgrind är lite förvirrad över 0 stora sektioner
  • 309.823 Generera fel för still nås block
  • 309.921 PCMPISTRI giltighets bit förökning är oprecis
  • 309.922 ingen / tester / ppc64 / test_dfp5 ibland misslyckas
  • 310169 Den Iop_CmpORD klassen av lOP inte stöds av vbit checker.
  • 310.424 --read-var-info inte riktigt beskriva statiska variabler
  • 310.792 sökandet ytterligare väg för debug symboler
  • 310.931 s390x: Meddelande-säkerhet hjälpa (MSA) instruktion förlängning [..]
  • 311.100 PPC DFP genomförandet av heltal operander är inkonsekvent [..]
  • 311.318 ARM: & quot; 128-bitars konstant är inte implementerad & quot; felmeddelande
  • 311.407 ssse3 bcopy (faktiskt konverterade memcpy) orsakar ogiltig läsning [..]
  • 311.690 V kraschar eftersom det omdirigeringar grenar inne i en omdirigerad funktion
  • 311.880 x86_64: gör regtest hänger på shell_valid1
  • 311.922 VARNING: ohanterat syscall: 170
  • 311.933 == 251.569
  • 312.171 ppc: insn val för DFP
  • 312571 Avrundning Läge samtal fel för DFP IOPS [..]
  • 312.620 Ändra till Iop_D32toD64 [..] för s390 DFP stöd bröt ppc [..]
  • 312913 Dinglande pekare fel bör också rapportera alloc stackspårning
  • 312.980 Bygga på Mountain Lion genererar några kompileringsvarningar
  • 313.267 Lägga MIPS64 / Linux-port till Valgrind
  • 313.348 == 251.569
  • 313.354 == 251.569
  • 313.811 buffertspill i assert_fail
  • 314.099 coverity påpekade fel i VEX guest_ppc_toIR.c insn_suffix
  • 314.269 ppc: död kod i insn val
  • 314.718 ARM: implementera heltalsdivision instruktion (sdiv och udiv)
  • 315.345 cl-format.xml och callgrind / dump.c inte är överens om att använda cfl = eller cfi =
  • 315.441 sendmsg syscall bör ignorera unset msghdr msg_flags
  • 315.534 msgrcv inuti en tråd orsakar valgrind att hänga (block)
  • 315.545 Assertion "(UChar *) sek- & gt; tt [tteNo] .tcptr sonamn '
  • 320.895 lägga fanotify stöd (patch ingår)
  • 320.998 vex amd64- & gt; IR pcmpestri och pcmpestrm SSE4.2 instruktion
  • 321.065 Valgrind uppdateringar för Xen 4.3
  • 321148 Ohanterat instruktion: PLI (Thumb 1, 2, 3)
  • 321.363 Ohanterat instruktion: SSAX (ARM + Thumb)
  • 321.364 Ohanterat instruktion: SXTAB16 (ARM + Thumb)
  • 321.466 Ohanterat instruktion: SHASX (ARM + Thumb)
  • 321.467 Ohanterat instruktion: SHSAX (ARM + Thumb)
  • 321.468 Ohanterat instruktion: SHSUB16 (ARM + Thumb)
  • 321.619 Ohanterat instruktion: SHSUB8 (ARM + Thumb)
  • 321.620 Ohanterat instruktion: UASX (ARM + Thumb)
  • 321.621 Ohanterat instruktion: USAX (ARM + Thumb)
  • 321.692 Ohanterat instruktion: UQADD16 (ARM + Thumb)
  • 321.693 Ohanterat instruktion: LDRSBT (Thumb)
  • 321.694 Ohanterat instruktion: UQASX (ARM + Thumb)
  • 321.696 Ohanterat instruktion: UQSAX (Thumb + ARM)
  • 321.697 Ohanterat instruktion: UHASX (ARM + Thumb)
  • 321.703 Ohanterat instruktion: UHSAX (ARM + Thumb)
  • 321.704 Ohanterat instruktion: REVSH (ARM + Thumb)
  • 321.730 Lägg cg_diff och cg_merge man-sidor
  • 321.738 Lägg vgdb och valgrind-lyssnar man-sidor
  • 321.814 == 315.545
  • 321.891 Ohanterat instruktion: LDRHT (Thumb)
  • 321.960 pthread_create () sedan alloca () orsakar ogiltig stack skrivfel
  • 321.969 ppc32 och ppc64 inte stöder [lf] setxattr
  • 322.254 Visa threadname tillsammans med tre gånger dagligen om den är inställd på ansökan
  • 322.294 Lägg inledande stöd för IBM Power ISA 2,07
  • 322.368 Assertion fel i wqthread_hijack med OS X 10.8
  • 322.563 vex mips- & gt; IR: 0x70 0x83 0xF0 0x3A
  • 322.807 VALGRIND_PRINTF_BACKTRACE skriver callstack till xml och text till stderr
  • 322.851 0bXXX binära bokstav syntax är inte standard
  • 323.035 Ohanterat instruktion: LDRSHT (Thumb)
  • 323.036 Ohanterat instruktion: SMMLS (ARM och Thumb)
  • 323.116 Den MemCheck / tester / ppc64 / power_ISA2_05.c låter att bygga [..]
  • 323.175 Ohanterat instruktion: SMLALD (ARM + Thumb)
  • 323.177 Ohanterat instruktion: SMLSLD (ARM + Thumb)
  • 323.432 Calling pthread_cond_destroy () eller pthread_mutex_destroy () [..]
  • 323.437 Fas 2 stöd för IBM Power ISA 2,07
  • 323.713 Support mmxext (heltal sse) delmängd på i386 (Athlon)
  • 323.803 Transactional minnesinstruktioner stöds inte för Power
  • 323.893 SSE3 inte tillgänglig på amd processorer i valgrind
  • 323.905 Trolig falskt positiva från Valgrind / DRD på ett nära ()
  • 323.912 valgrind.h header är inte kompatibel för mingw64
  • 324.047 Valgrind stöder inte [LDR, ST] {S} [B, H] T ARM anvisningar
  • 324.149 helgrind: När pthread_cond_timedwait returnerar ETIMEDOUT [..]
  • 324.181 mmap hanterar inte MAP_32BIT
  • 324.227 MemCheck falskt positiva läcka när en tråd kallar exit + blocket [..]
  • 324.421 Stöd för fanotify API på ARM-arkitekturen
  • 324.514 gdbserver övervaka cmd utgång beteende konsekvens [..]
  • 324.518 ppc64: Emulering av dcbt instruktioner inte hanterar [..]
  • 324.546 ingen / tester / ppc32 test_isa_2_07_part2 begär -m64
  • 324.582 När tillgången görs till frigjort minne, rapporterar både fördelning [..]
  • 324.594 Fix spill beräkning för Power ISA 2.06 insns:. Mulldo / mulldo
  • 324.765 ppc64: illegal instruktion vid utförande ingen / tester / ppc64 / jm-misc
  • 324.816 Felaktig VEX genomförande för xscvspdp / xvcvspdp för SNaN ingångar
  • 324.834 Ohanterat instruktionerna i Microsoft C run-time för x86_64
  • 324.894 Fas 3 stöd för IBM Power ISA 2,07
  • 326.091 drd: Undvik falska race rapporter från optimerade strlen () impls
  • 326.113 valgrind libvex hwcaps fel på AMD64
  • ni-bz Vissa fel kommandoradsväljare kunde ignoreras
  • ni-bz patch för att möjliggöra rättvis sched på android
  • ni-bz rapporten felet för vgdb ögonblicks begärs före avrättningen
  • ni-bz samma som 303.624 (fast i 3.8.0), men för x86 android

Vad är nytt i version 3.8.1:

  • Det fixar några påstående misslyckanden i 3.8.0 som förekommer måttligt ofta i verkliga användningsfall, lägger till stöd för vissa saknade instruktioner om ARM, och fixar ett dödläge tillstånd på MacOSX.
  • Om du paketerar eller leverera 3.8.0 för andra att använda, kanske du vill överväga att uppgradera till 3.8.1 i stället.

Vad är nytt i version 3.6.0:

  • Detta är en funktion frigivning med många betydande förbättringar och den vanliga samlingen av buggfixar.
  • Huvud förbättringen är att Valgrind arbetar nu på ARM / Linux och Mac OS X 10.6 (Snow Leopard).

Liknande mjukvara

Kommentarer till Valgrind

Kommentarer hittades inte
Kommentar
Slå på bilder!