CLion запускает программу в отдельном системном терминале

У меня есть ncurses Программа, которую я хотел бы интерактивно отлаживать с помощью CLion. Проблема в том, что когда я запускаю программу в CLion для ее отладки, встроенная консоль, на которой запускается программа, не отображает вывод ncurses запрограммируйте правильно

Я хотел бы, чтобы программа запускалась в моем системном терминале, чтобы я мог видеть выходные данные во время отладки программы с помощью отладчика CLions.

Есть какой-либо способ сделать это?

2 ответа

Лучший способ добиться этого - использовать GDB, и сейчас может быть очень сложно начать, поэтому я покажу вам, как я это сделал в Linux.

  1. откройте терминал и перейдите к файлу отладки вашего проекта и введите gdbserver localhost:1234 ./myFile
  2. откройте clion для проекта myFile и в правом верхнем углу вы увидите сборку, все (или название вашего проекта), щелкните по ней и перейдите к "редактированию конфигураций"
  3. в левом верхнем углу вы должны увидеть знак плюс, щелкните по нему и нажмите "GDB remote debug"
  4. затем в "целевой удаленного" типа tcp:127.0.0.1:1234
  5. Далее в "пути сопоставления" нажмите плюс и введите /location/to/file/myFile (тот же файл, что и в 1.) как в удаленном, так и в расположении
  6. Нажмите OK и в правом верхнем углу выберите название конфигурации, которую вы только что сделали, и нажмите debug

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

Есть некоторые ограничения, например, вам всегда нужно запускать gdbserver localhost:1234 ./myFile команда на вашем терминале для его работы.

Некоторые видео / документация, которые мне помогли:

Я надеюсь, что это помогло:)

В других отладчиках вы могли бы сделать это, запустив ncurses приложение в терминале и присоединение отладчика к процессу с помощью ncurses,

Это позволяет избежать помех между ncurses (который изменяет режимы ввода-вывода терминала) и командную строку отладчика.

Функция присоединения - это недавно выпущенная функция отладчика CLions:

Дальнейшее чтение:

Другие вопросы по тегам