Я столкнулся с очень трудно найти ошибку. В основном происходит то, что один поток освобождает блок памяти, в то время как другой поток все еще имеет ссылку на него (это не мой код, который делает все еще сложнее …).
Я новичок на платформе Windows, но я уже пытался запустить ее с включенным Application Verifier и PageHeap — проблема в том, что ошибка больше не возникает (возможно, потому что сейчас все медленнее — поэтому я имею дело с классической гонкой -состояние). Под Linux я бы попытался использовать Valgrind для такого рода ошибок — но, вероятно, это будет иметь те же эффекты, что и Application Verifier (больше не видеть ошибку ..).
В Mac OS X я бы использовал malloc_history для отслеживания этой ошибки. Так есть ли эквивалент в Visual Studio или WinDbg? Я хотел бы сделать следующее:
Это возможно с некоторыми инструментами Windows / Visual Studio?
Я бы начал с исправления этой проблемы:
«что один поток освобождает блок памяти, в то время как другой поток все еще имеет ссылку на него»
Других решений пока нет …