ho visto che valgrind classifica perdite di memoria in:Valgrind legittimo "probabilmente perso" Byte esempio
- definitivamente perso
- indirettamente perso
- forse perso
- ancora raggiungibile
- soppresse
Ho appena corretto una perdita in cui il "possibilmente perso" era il problema principale.
Il documentation says: "forse perso significa che il programma perde la memoria, a meno che non si sta facendo cose insolite con i puntatori che potrebbero causare loro di puntare nel bel mezzo di un blocco allocato, vedere il manuale dell'utente per qualche possibile causa sindrome "
potrei conoscere un esempio di" fare cose insolite con i puntatori che potrebbero causare loro di puntare nel bel mezzo di un blocco allocato "?
Intendo un esempio in cui "possibilmente perso" può essere ignorato anche se viene segnalato da valgrind. Un esempio in cui l'uso di puntatori rende valgrind si lamentano, ma allo stesso tempo l'uso dei puntatori in questo modo è in qualche modo legittima
Grazie
Si prega di inserire commenti come commenti, non come risposte. StackOverflow notifica agli utenti commenti sulle risposte, ma non (e non dovrebbe) notifica agli utenti di altri utenti che rispondono anche alla stessa domanda. Detto questo ... – hvd
... il codice finisce per liberare la memoria, quindi Valgrind non lo vede.Il punto che stavo facendo era che se il programma termina prima di raggiungere 'libero' (o semplicemente non è affatto libero), e' p' rimane impostato, allora valgrind considererà la memoria allocata eventualmente persa. Durante il test, in modo che 'p' rimanga impostato, potrebbe anche essere necessario rendere' p' un globale. – hvd
Ho provato a postarlo come commenti, ma i commenti hanno il numero di limiti di caratteri. Mi dispiace per quello – jaeyong