Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio15:esercitazionib:esercitazione2

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
informatica:sol:laboratorio15:esercitazionib:esercitazione2 [27/02/2015 alle 14:08 (10 anni fa)] – creata Susanna Pelagattiinformatica:sol:laboratorio15:esercitazionib:esercitazione2 [03/03/2015 alle 16:57 (10 anni fa)] (versione attuale) – [Esercizio 1: mtrace] Susanna Pelagatti
Linea 4: Linea 4:
 Dove si sperimenta qualche tool e si approfondiscono alcune caratteristiche del C sequenziale: errno, perror ... Dove si sperimenta qualche tool e si approfondiscono alcune caratteristiche del C sequenziale: errno, perror ...
  
 +
 +===== Esercizio 0: preprocessing, compilazione e linking =====
 +Seguire l'esempio dei lucidi di proprocessing, compilazione e linking verificando i vari passi con i comandi ''nm'', ''objdump'' o ''readelf''.
  
 ===== Esercizio 1: mtrace ===== ===== Esercizio 1: mtrace =====
  
-Verificare gli accessi in memoria compiuti dalle funzioni su liste di interi della libreria ''libList.a'' utilizzando la funzione ''mtrace'' e l'utility ''mtrace'', questi strumenti tracciano le azioni di allocazione e deallocazione di memoria compiute dal programma per verificare la presenza di //memory leak// cioe' memoria non deallocata. +Verificare gli accessi in memoria compiuti dalle funzioni su liste di interi sviluppati nella prima esercitazione utilizzando la funzione ''mtrace'' e l'utility ''mtrace'', questi strumenti tracciano le azioni di allocazione e deallocazione di memoria compiute dal programma per verificare la presenza di //memory leak// cioe' memoria non deallocata. 
  
 Per fare questo procedere come segue: Per fare questo procedere come segue:
Linea 16: Linea 19:
   * compilare il file da verificare con opzione ''-g'' per includere le informazioni di debugging. Ad esempio se il mio file si chiama ''main.c'' posso compilare con   * compilare il file da verificare con opzione ''-g'' per includere le informazioni di debugging. Ad esempio se il mio file si chiama ''main.c'' posso compilare con
 <code> <code>
-bash$ gcc -Wall -pedantic -g -o prova main.c -lList -L.+bash$ gcc -Wall -pedantic -g -o prova main.c 
 </code> </code>
   * settare la variabile di ambiente ''MALLOC_TRACE'' al path del file in cui vogliamo che la ''mtrace()'' registri le informazioni sugli accessi di memoria. Ad esempio se voglio registrare le informazioni nel file ''./mtrace.out'' devo usare il comando   * settare la variabile di ambiente ''MALLOC_TRACE'' al path del file in cui vogliamo che la ''mtrace()'' registri le informazioni sugli accessi di memoria. Ad esempio se voglio registrare le informazioni nel file ''./mtrace.out'' devo usare il comando
informatica/sol/laboratorio15/esercitazionib/esercitazione2.1425046139.txt.gz · Ultima modifica: 27/02/2015 alle 14:08 (10 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki