Отказ сегментации файла MEX

Если бинарный файл MEX вызывает нарушение сегментации или утверждение, это означает, что файл MEX попытался получить доступ к защищенной, или освобожденной памяти только для чтения.

Эти типы программных ошибок могут затруднить, чтобы разыскать. Нарушения сегментации не всегда происходят в той же точке как логические ошибки, которые вызывают их. Если программа записывает данные к непреднамеренному разделу памяти, ошибка не может произойти, пока программа не читает и интерпретирует поврежденные данные. Поэтому нарушение сегментации может произойти после того, как файл MEX закончил выполняться.

Одна причина повреждения памяти состоит в том, чтобы передать нулевого указателя функции. Чтобы проверять на это условие, добавьте код в своем файле MEX, чтобы проверять на недействительные аргументы к Библиотеке MEX и Матричным API-функциям.

Чтобы диагностировать проблемы этой природы, запустите MATLAB® в среде отладки.

Похожие темы