Я компилирую программу на удаленном сервере linux. Скомпилирована программа. Однако, когда я запускаю программу, программа резко завершается. Поэтому я отлаживал программу с использованием DDT. Он выплевывает следующую ошибку:Ошибка памяти: нулевой указатель разыменования/несоосность SSE
Process 0:
Memory error detected in ClassName::function (filename.cpp:6462).
Thread 1 attempted to dereference a null pointer or execute an SSE instruction with an
incorrectly aligned memory address (the latter may sometimes occur spuriously if guard
pages are enabled)
Tip: Use the stack list and the local variables to explore your program's current
state and identify the source of the error.
Может кто-нибудь, пожалуйста, скажите, что именно означает эта ошибка?
Линия, на которой останавливается программа выглядит следующим образом:
SumUtility = ParaEst[0] + hhincome * ParaEst[71] + IsBlack * ParaEst[61] + IsBachAss * (ParaEst[55]);
Это в случае переключения.
Эти типы переменных
vector<double> ParaEst;
double hhincome;
int IsBlack, Is BachAss;
Спасибо за помощь!
Неверно выровненный адрес памяти вызывает «SIGBUS». Вывод нулевого указателя должен вызывать 'SIGSEGV'. Но информации для ответа на ваш вопрос недостаточно. Выполните команду 'valgrind' или' GDB'. – Anycorn