Изменение версии gcc/g++ вызывает segfault
Кажется, что изменение версии GCC я использую с gcc 4.7.3
в gcc 4.9.2
вызывает segfault для моего проекта (после чистой сборки и запуска).
В неудачном повороте событий gdb
не работает на сервере Я получаю эту ошибку и не могу использовать ее в настоящее время. Любые известные изменения в самом gcc, которые могли бы вызвать это? Я подозреваю, что проблема потенциально вызвана двойной свободой.
1 ответ
Вы должны попытаться использовать valgrind.
Valgrind - это инструмент отладки, требующий компиляции вашего кода с флагом -g. Это лучший способ обнаружить ошибку сегментации в программе или любую утечку памяти.
Подумайте об использовании параметров valgrind во время отладки (это в нижней части отчета valgrind) что-то вроде утечки-проверки (сейчас я не могу запустить valgrind, поэтому не могу точно сказать, что это такое).
Но всякий раз, когда я компилирую свой код, я использую его вместе с valgrind для проверки всех возможных ошибок. Для большей простоты подумайте даже о включении VG в ваши правила Makefile.