Я разрабатываю аудио приложение, которое позволяет вам создавать и воспроизводить музыку с текстовыми файлами для 32-битной Windows. Я использую C ++ в качестве языка и TDM-gcc 4.8.1 (sjlj) в качестве цепочки инструментов. Я использую библиотеки — SFML, portaudio и libsndfile.
Я начал получать эту ошибку APPCRASH при закрытии приложения. И я заметил, что эта ошибка возникает только тогда, когда я открываю диалог открытия / сохранения файла и затем пытаюсь выйти из приложения. Многопоточность может быть как-то связана с этим, потому что я открываю диалоги файлов в отдельных потоках с помощью класса Thread SFML. (чтобы главное окно могло самостоятельно обновляться) Я полагаю, что portaudio также, вероятно, использует свой собственный поток для обработки своей собственной буферизации и обратных вызовов?
Так как программа компилируется просто отлично, и я не получаю ошибок, мне трудно понять, что вызывает это. Я изменял и комментировал многие части программы, но безуспешно … Код исключения c000374 предположительно означает «повреждение кучи», но что это на самом деле означает? Каковы общие причины? Что я могу сделать, чтобы сузить возможные причины?
И в другой раз, я получил это сообщение:
Еще одна ошибка с физическими адресами
Но как я могу узнать, какой адрес соответствует какой части программы? (или какие данные или класс) Есть ли хороший отладчик, который может отображать имена классов, методов и переменных на физические адреса, которые использует исполняемый файл?
Задача ещё не решена.
Других решений пока нет …