APPCRASH с «повреждением кучи» — как вы отлаживаете это?

Я разрабатываю аудио приложение, которое позволяет вам создавать и воспроизводить музыку с текстовыми файлами для 32-битной Windows. Я использую C ++ в качестве языка и TDM-gcc 4.8.1 (sjlj) в качестве цепочки инструментов. Я использую библиотеки — SFML, portaudio и libsndfile.

Сообщение об ошибке APPCRASH

Я начал получать эту ошибку APPCRASH при закрытии приложения. И я заметил, что эта ошибка возникает только тогда, когда я открываю диалог открытия / сохранения файла и затем пытаюсь выйти из приложения. Многопоточность может быть как-то связана с этим, потому что я открываю диалоги файлов в отдельных потоках с помощью класса Thread SFML. (чтобы главное окно могло самостоятельно обновляться) Я полагаю, что portaudio также, вероятно, использует свой собственный поток для обработки своей собственной буферизации и обратных вызовов?

Так как программа компилируется просто отлично, и я не получаю ошибок, мне трудно понять, что вызывает это. Я изменял и комментировал многие части программы, но безуспешно … Код исключения c000374 предположительно означает «повреждение кучи», но что это на самом деле означает? Каковы общие причины? Что я могу сделать, чтобы сузить возможные причины?

И в другой раз, я получил это сообщение:

Еще одна ошибка с физическими адресами

Но как я могу узнать, какой адрес соответствует какой части программы? (или какие данные или класс) Есть ли хороший отладчик, который может отображать имена классов, методов и переменных на физические адреса, которые использует исполняемый файл?

0

Решение

Задача ещё не решена.

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

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

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