Valgrind: Porovnání verzí

Přidáno 15 bajtů ,  před 8 lety
 
== Nástroje ==
Existuje více nástrojů obsažených ve Valgrindu. Výchozí (a nejčastěji používaný) je nástroj Memcheck. Memcheck vloží navíc zvláštní kódy okolo téměř všech příkazů, které udržují informaci o platnosti (veškerá nevyužitá paměť začíná jako neplatná nebo nedefinovaná, dokud není inicializována do deterministického stavu, případně z jiných pamětí) a adresovatelnosti (zda adresy bodů v paměti jsou přiděleny, neosvobozenémuneuvolněnému paměťovému bloku), uložené do takzvaných V-bitů a A-bitů. Manipuluje se s nimi jako s daty a strojový kód udržuje A- a V-bity, takže jsou správně na úrovni jednoho bitu.
 
Kromě toho [[Memcheck]] nahradí standardní alokátor paměti [[Programovací jazyk C|jazyka C]] svou vlastní implementací, která zahrnuje také hlídání paměti kolem přidělených bloků (s A bity nastavenými na neplatné). Ta funkce umožňuje Memchecku detekci [[off-by-onechyba o jedna|chyb o jedna]] chyb v případě, že program zapisuje mimo přidělené množství bloku. Mezi problémy, které dokáže Memcheck detekovat a varovat před nimi patří následující:
 
* použití neinicializované paměti
Neregistrovaný uživatel