Ошибка выполнения в коде openframworks, который я даже не использую
Я запускаю проект, используя библиотеку Aubio в http://www.openframeworks.cc/, поэтому я копирую код в свой проект из демонстраций Aubio, модификаций и т. Д. Функция Aubio new_aubio_pitchdetection()
прекрасно работает, но похожая функция new_aubio_onset()
не делает. Фактически, это дает мне ошибку EXC_BAD_ACCESS в библиотеке freeImage всех вещей, на которые я вообще не ссылаюсь нигде в моем проекте. (FreeImage встроен в openFrameworks, да, но кроме этого я не собираюсь приближаться к нему)
Ошибка переносит меня в файл ofImage.cpp
и говорит:
// это для изображений в градациях серого, из которых нужно получать палитру: http://sourceforge.net/forum/message.php?msg_id=2856879
Я знаком с EXC_BAD_ACCESS в контексте управления памятью, но похоже, что там происходит проблема пространства имен? Я нахожу совершенно непонятным мой маленький мозг, как эта функция может вызвать ошибку в таком отдаленном (и предположительно неактивном) коде.
Конечно, я могу опубликовать примеры кода, но это кажется проблемой на более фундаментальном уровне, чем это можно увидеть во фрагменте.
1 ответ
Код, скорее всего, портит кучу. Это может вызвать серьезные проблемы, практически любой код использует кучу. Код, который не работает, не несет ответственности за повреждение. Диагностируйте это с хорошим распределителем отладки, посмотрите, что доступно в вашем CRT. Или тщательный обзор кода.