Есть ли эквивалент в malloc_history в визуальной студии?

Я столкнулся с очень трудно найти ошибку. В основном происходит то, что один поток освобождает блок памяти, в то время как другой поток все еще имеет ссылку на него (это не мой код, который делает все еще сложнее …).

Я новичок на платформе Windows, но я уже пытался запустить ее с включенным Application Verifier и PageHeap — проблема в том, что ошибка больше не возникает (возможно, потому что сейчас все медленнее — поэтому я имею дело с классической гонкой -состояние). Под Linux я бы попытался использовать Valgrind для такого рода ошибок — но, вероятно, это будет иметь те же эффекты, что и Application Verifier (больше не видеть ошибку ..).

В Mac OS X я бы использовал malloc_history для отслеживания этой ошибки. Так есть ли эквивалент в Visual Studio или WinDbg? Я хотел бы сделать следующее:

  • Запустите программу в отладчике до тех пор, пока она не выйдет из строя с ошибкой
  • Получить адрес освобожденного объекта и оттуда получить трассировку стека, где блок фактически был удален.

Это возможно с некоторыми инструментами Windows / Visual Studio?

0

Решение

Я бы начал с исправления этой проблемы:

«что один поток освобождает блок памяти, в то время как другой поток все еще имеет ссылку на него»

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]