c valgrind - ghdrako/doc_snipets GitHub Wiki
Narzędzie do debugowania pamięci, wykrywania wycieków pamięci oraz profilowania aplikacji.
Valgrinda używa się w następujący sposób:
valgrind [valgrind-options] your-prog [your-prog-options]
Najważniejszą opcją Valgrinda jest --tool, która definiuje jakie narzędzie zostanie użyte (jeśli nie podamy, to zostanie użyty memcheck).
Ważniejsze narzędzia wchodzące w skład Valgrinda:
- 
memcheck- wykrywanie problemów z pamięcią, jak wycieki czy zapis poza buforem, użycie niezainicjalizowanych zmiennych - 
callgrind- narzędzie do analizowania stosu wywołań - 
massif- pomiar użycia pamięci dynamicznej (zaalokowanej na stercie)valgrind --tool=massif <executable> <arguments> - 
helgrind- wykrywanie problemów z synchronizacją (wyścigi, deadlocki) w kodzie wielowątkowym 
Aby użyć Valgrinda, program należy skompilować z debug symbolami i najlepiej z wyłączonymi optymalizacjami (opcje -g -O0 dla gcc).
Analiza logu callgrinda:
kcachegrind imc_mewa_in_20201109_stdcall.log
Analiza logu massif:
ms_print imc_mewa_in_20201109_stdmass.log