2010-02-10 16 views

risposta

6

Per inviare un segnale al Valgrind, pkill -USR1 valgrind non vuole lavorare per me.

pkill -USR1 memcheck

fare il trucco.

3

Non c'è un segnale che indica a valgrind di controllare lo stato di utilizzo della memoria. Se sei interessato alla quantità di memoria utilizzata dal tuo programma nel tempo e dove viene assegnata quella memoria, lo strumento massif di valgrind può registrare tali informazioni, che possono essere visualizzate utilizzando l'utilità ms_print. Massif registra istantanee dell'utilizzo della memoria del programma automaticamente durante l'esecuzione del programma, inclusa un'istantanea di picco che rappresenta il punto in cui l'utilizzo della memoria è al suo massimo (entro l'1% utilizzando le opzioni predefinite).

per eseguire il programma sotto strumento massiccio di valgrind:

valgrind --tool=massif yourprogram 

verrà creato un file binario massif.out.pid. Utilizzare ms_print per formattare le informazioni in forma di testo:

ms_print massif.out.12345 
+0

Ah, grazie. Il mio programma deve accettare un segnale numero 40 per uscire. È un demone server, quindi l'unico modo per farlo uscire è inviare un segnale 40, e il gestore sig farà uscire il programma. Quindi, quando controllo l'utilizzo della memoria in valgrind, non riesco a trovare un modo per inviare un segnale, perché, non c'è assolutamente alcun processo di quel programma. Posso comunque inviare un segnale al mio programma? Grazie! –

+1

Se si invia il segnale al processo valgrind che sta eseguendo il programma, valgrind lo passerà al gestore di segnale del programma. – mark4o

Problemi correlati