Domanda

Ho un processo x che voglio verificare eventuali perdite con valgrind . Il problema è che x è gestito da y e y a sua volta è gestito da z . Non riesco a eseguire x autonomamente perché y e z configurano l'ambiente per x , come variabili di ambiente, opzioni della riga di comando, file necessari per x ecc.

  1. Esiste un modo in cui posso dire a valgrind di funzionare su z ma seguire le forcelle che trova e segnalarle anche loro?
  2. Esiste un modo in cui posso dire a valgrind di seguire le forcelle ma riferire solo sul processo denominato x ?
  3. Esiste un modo per dire a valgrind di collegarsi a un processo già in esecuzione, come posso fare con gdb?

Non so se questo è importante, ma sto usando SuSE64 linux e valgrind-2.4.0.

Grazie!

È stato utile?

Soluzione

  1. Valgrind segue i processi biforcati quando viene data l'opzione --trace-children = yes .
  2. Dovresti essere in grado di raggiungere questo obiettivo utilizzando filtri adeguati.
  3. Nessun. Valgrind si aggancia al codice di caricamento del modulo usando LD_PRELOAD, quindi non è possibile collegarsi a un processo in esecuzione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top