Как позволить eclipse cdt показать ошибку времени выполнения (например, ошибка сегментации)
Я разрабатываю и запускаю программу на С++ в Eclipse CDT в Linux.
Проблема в том, что в Eclipse CDT не отображается сообщение об ошибке выполнения (например, ошибка сегментации) в консоли, в то время как я могу получить такое сообщение об ошибке при запуске программы напрямую с командной строкой.
Ответы
Ответ 1
Здравствуйте
Вы можете попытаться изменить конфигурацию запуска, как показано ниже.
- вкладка "Главная" > Приложение =
/bin/sh
- вкладка "Аргументы" > "Программные аргументы" =
-c "Debug/name_of_executable arg0 arg1 ... 2> /dev/stdout"
(замените "arg0 arg1..." вашими аргументами программы, если они есть)
Консоль eclipse будет выводить как stdout, stderr, так и сообщение об ошибке сегментации (с префиксом "/bin/sh: line 1..." )
note: Я использовал это решение в более раннем выпуске eclipse, для которого симптомы одинаковы.
Ответ 2
Я бы рекомендовал использовать отладчик вместо запуска исполняемого файла!
У меня была та же проблема при попытке импортировать существующее С++-решение в CDT. Мне было немного странно, что Eclipse ничего не сообщал в случае ошибки сегментации. Если вы используете отладчик, он уведомит вас об ошибках сегментации и укажет вам правильное место в коде.