Kiedy uruchomiłem program przeciwko Valgrind, napotkałem następujące ostrzeżenie.Co oznacza ta ostrzeżenie Valgrind? - ustawiono zakres adresów ostrzeżeń perms
Warning: set address range perms: large range [0x4d59d040, 0x6159d040) (undefined)
Warning: set address range perms: large range [0x194f7030, 0x2d4f7050) (noaccess)
Warning: set address range perms: large range [0x3959d030, 0x6159d050) (noaccess)
Po pewnym googling znalazłem w here że jest Diagnostic message, mostly for benefit of the Valgrind developers, to do with memory permissions
, który nie powiedzieć wiele.
Mój program przydziela dużą ilość pamięci na stercie. (Może osiągnąć 2-3 GB pamięci RAM po całej serii realloc
)
Jednak pojawiło się ostrzeżenie, mimo że żadna z alokacji nie powiodła się.
Więc, zastanawiam się, co ta wiadomość naprawdę oznacza? Nie mam jakiegoś pozwolenia na pamięć? (Ale alokacja się powiodła)
Rozumiem. Czy to jest coś, o co należy się martwić? (Domyślam się, że to nie jest "głównie z korzyścią dla programistów Valgrind"). –
Rozszerzyłem i wyjaśniłem swoją odpowiedź, ale zasadniczo, nie, nie jest to ogólnie rzecz biorąc coś, o co musisz się martwić. – TomH
Co się stanie, jeśli pojawi się pięć błędów kończących się na: (zdefiniowane) - (brak dostępu) - (zdefiniowane) - (brak dostępu) - (zdefiniowane)? –