Articles of valgrind

Trovare la causa di una perdita di memoria in Ruby

Ho scoperto una perdita di memoria nel mio codice Rails – vale a dire, ho trovato il codice che perde ma non perché perde. L’ho ridotto a un testcase che non richiede Rails: require ‘csspool’ require ‘ruby-mass’ def report puts ‘Memory ‘ + `ps ax -o pid,rss | grep -E “^[[:space:]]*#{$$}”`.strip.split.map(&:to_i)[1].to_s + ‘KB’ Mass.print end […]

Come funziona valgrind?

Qualcuno può fornire una rapida spiegazione di livello superiore su come funziona Valgrind? Un esempio: come fa a sapere quando la memoria viene allocata e liberata?

Cosa significano le perdite soppresse in Valgrind?

Ho sviluppato un’implementazione pura C delle liste FIFO (code) nei file fifo.h e fifo.c , e ho scritto un test testfifo.c che compilo a ./bin/testfifo . La struttura del nodo è definita in list.h Eseguo il mio programma attraverso Valgrind su OS X 10.6 in questo modo valgrind –tool=memcheck –leak-check=full –show-reachable=yes ./bin/testfifo e ottieni il […]

valgrind e openmp, ancora raggiungibili e possibilmente persi, è così male?

c ++ newbie qui. Negli ultimi giorni ho migliorato le mie capacità di gestione della memoria e il mio programma non perde più memoria in base a valgrind. In effetti, non ricevo assolutamente alcun avvertimento da parte di valgrind. Tuttavia, quando aggiungo loop di openmp nel mio codice, comincio a ottenere i seguenti errori in […]

Come profilo l’utilizzo della memoria?

Sono a conoscenza di Valgrind, ma rileva solo problemi di gestione della memoria. Quello che sto cercando è uno strumento che mi fornisce una panoramica, quali parti del mio programma consumano quanta memoria. Una rappresentazione grafica con ad es. Una mappa ad albero (come fa KCachegrind per Callgrind) sarebbe interessante. Sto lavorando su una macchina […]

Come usare il comando addr2line in Linux?

Sto cercando di usare il comando addr2line in Unix ma ogni volta sta dando lo stesso output di ??: 0. Sto dando comando come addr2line -e a.out 0x4005BDC . Ho ottenuto questo indirizzo mentre eseguivo questo eseguibile a.out con lo strumento valgrind per trovare la perdita di memoria. Ho anche compilato il codice sorgente con […]

Come faccio a usare valgrind per trovare perdite di memoria?

Come faccio a usare valgrind per trovare le perdite di memoria in un programma? Per favore qualcuno mi aiuti e descriva i passaggi per eseguire la procedura? Sto usando Ubuntu 10.04 e ho un programma ac , per favore aiutatemi.

Valgrind riporta errori per un programma C molto semplice

Sto imparando il linguaggio C da Learn C The Hard Way . Sono nell’esercizio 6 e mentre riesco a farlo funzionare, valgrind repots molti errori. Ecco il programma minimale ridotto da un file ex6.c : #include int main(int argc, char *argv[]) { char initial = ‘A’; float power = 2.345f; printf(“Character is %c.\n”, initial); printf(“You […]

localizzare “il salto condizionale o lo spostamento dipende dal / dai valore / i non inizializzato / i” messaggio valgrind

Quindi ho ricevuto alcuni misteriosi messaggi di valori non inizializzati da valgrind ed è stato piuttosto il mistero da dove il cattivo valore ha avuto origine. Sembra che valgrind mostri il luogo in cui viene utilizzato il valore unitializzato, ma non l’origine del valore non inizializzato. ==11366== Conditional jump or move depends on uninitialised value(s) […]

cpp – valgrind – Lettura non valida della dimensione 8

Sto diventando pazzo a capire che errore valgrind. Ho una class template chiamata Matrix che ha alcuni operatori sovraccaricati ecc … per fare alcune operazioni matematiche. Le matrici vengono utilizzate all’interno di una class chiamata ExtendedKalmanFilter. Ecco la traccia del valgrind: ==3352== Invalid read of size 8 ==3352== at 0x804CC8F: BOViL::math::Matrix::operator*(BOViL::math::Matrix const&) const (Matrix.h:285) ==3352== […]