Как позволить 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 ничего не сообщал в случае ошибки сегментации. Если вы используете отладчик, он уведомит вас об ошибках сегментации и укажет вам правильное место в коде.