Domanda

Ho recentemente stato nei guai con SFML , una biblioteca multimediale. Io uso C # così naturalmente sono andato per il legame Net, che è possibile recuperare dal SVN nella sua ultima versione 2.0. Dopo un po 'di fare in giro ho notato che la mia domanda a volte riagganciare quando si utilizza l'oggetto di testo, un oggetto usato per disegnare i caratteri di struttura.

Ulteriori indagini utilizzando profiler e l'Onnipotente task manager di Windows ha rivelato che una semplice applicazione con testo sembrava essere in qualche modo perdite di memoria. Allora ho fatto un thread sul forum SFML su di esso ( il filo ). Tuttavia, il dev principale della SFML era in grado di riprodurre il bug sulla sua macchina. Pensiero non potrei essere pazzo, ho inviato a un amico e ha riferito di aver effettivamente visto che ciò accada.

Ho fatto un esempio per Laurent, il dev di SFML, ma ancora non riusciva a riprodurre il bug. Pensando questo potrebbe essere correlato OS, ho inviato il file a tutti quelli che potevo e interrogato circa i loro sistemi operativi. Qui sono i miei risultati:

http://spreadsheets.google.com/ccc?key=0AhcHeJlLGEVUdG1TTi1mTkFxeFlHYVRISXhjbFBDUmc&hl=en

Come si può vedere, Turc e K7 entrambi hanno lo stesso sistema operativo, ma non va in crash sul K7 di (La tabella è incompleta in cui i candidati al test non hanno non hanno repoted in ancora). In ogni modo, questo mi dice che chiaramente non è un problema del sistema operativo.

Quindi la mia domanda reale è, Quali altri fattori, ma il sistema operativo o l'architettura può influenzare gli insetti come questo, che appaiono solo su alcuni sistemi?

Per avere un riferimento, qui è il file che ho inviato i miei amici: http://dl.dropbox.com/u/3310651/MemLeak2.rar

E uno screenshot del profiling che ho fatto: http://dl.dropbox.com/u/3310651/sfml_memleak.png

Grazie!

È stato utile?

Soluzione 2

ho capito dopo un po 'di parlare su IRC e ragazzi mi hanno aiutato. La libreria nativa non è stato thread-safe, quindi c'erano problemi con allocare e deallocare oggetti di cui allo stesso tempo.

Altri suggerimenti

Non sono sicuro di quello che potrebbe essere la causa della differenza, ma dato è possibile riprodurre il problema sulla vostra macchina Una possibilità sarebbe quella di indagare il motivo per cui tutti gli oggetti di testo sono appesi intorno. È possibile farlo utilizzando la "sos" debug biblioteca e l'interrogazione per scoprire che cosa è il tifo gli oggetti di testo. Una buona introduzione all'uso sos in Visual Studio è disponibile qui .

Se avete solo la versione Express di Visual Studio è possibile utilizzare sos dal debugger WinDbg, che fa parte del Debugging Tools for Windows . Un'altra buona panoramica, che è su misura per uso sos con WinDbg può essere trovato qui .

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