Domanda

Ho un programma Windows molto parallelo che usa molti thread, istruzioni di sincronizzazione macchina codificate a mano e allocatori di archiviazione paralleli sicuri per la casa. Ahimè, il la gestione della memoria ha un buco (non un buco di sincronizzazione negli allocatori, Sono abbastanza sicuro) e mi piacerebbe trovarlo. Valgrind è stato suggerito come un buon strumento per trovare errori di gestione della memoria. Qualche esperienza qui con Valgrind usata in queste circostanze?

È stato utile?

Soluzione

Valgrind non funziona su Windows, ma funziona con i programmi Windows eseguiti su Wine su Linux. Se il tuo programma verrà eseguito con Wine, ha buone possibilità di lavorare con valgrind. Vedi winehq.org per i dettagli.

L'ultima versione è abbastanza efficace nel gestire tutte le istruzioni x86 a 32 bit. Può gestire programmi che creano molti thread, ma non aspettarti che vengano eseguiti contemporaneamente in valgrind. Eseguirà solo un thread alla volta, come se fosse eseguito su una macchina single core.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top