Valgrind: Porovnání verzí

Odebráno 16 bajtů ,  před 8 lety
"chyba o jedna" - google=0, vracím původní odkaz
("chyba o jedna" - google=0, vracím původní odkaz)
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, neuvolně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 [[chyba o jedna|chyb o jednaoff-by-one]] 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