Aprenentatge de Valgrind
Memory error detection and profiling toolkit
Eines
- Memcheck: Memcheck és l'eina principal de Valgrind per detectar errors de memòria:
- Massif: Profiler de heap que rastreja l'ús de memòria al llarg del temps
- Cachegrind: Profiler de cache que simula el comportament de cache del processador
- Helgrind: Detector de race conditions i errors de sincronització en programes multifil
Tipus d'Errors Comuns
Identifica i corregeix els errors més freqüents detectats per Valgrind
- Fuites de Memòria: Memòria que ha estat assignada però no alliberada, causant un ús excessiu de recursos.
- Accés de Memòria Invàlid: Lectura o escriptura fora dels límits de la memòria assignada.
- Ús de Valor No Inicialitzat: Ús d'una variable que no ha estat inicialitzada.
- Doble Alliberament: Alliberar memòria que ja s'havia alliberat anteriorment.
- Desassignació Incompatible: Ús de la funció d'alliberament incorrecta.
- Superposició de Memòria: Les regions de memòria d'origen i destinació se superposen en memcpy o funcions similars.
Comandes Bàsiques
Comandes essencials per començar a utilitzar Valgrind de manera efectiva
- Anàlisi Bàsica: Executa una anàlisi bàsica de memòria del teu programa
- Detecció de Fuites de Memòria: Identifica i analitza fuites de memòria en el teu programa
- Anàlisi de Rendiment: Identifica colls d'ampolla en el rendiment del teu codi