Я слежу за разделом руководства по отладке C++ (https://help.eclipse.org/photon/index.jsp) в документации Eclipse Photon. Я выполнил все инструкции, создав первый проект C++, и сейчас нахожусь в разделе «Отладка проекта». Моя проблема в том, что после того, как я создаю перспективу отладки и нажимаю кнопку «Отладка», отладчик никогда не останавливается на моей установленной точке останова. В окне отладки он просто говорит, а цикл программы даже не производит никакого вывода. Если вы запускаете программу в обычном режиме, цикл выводится на консоль, но с точки зрения отладки ничего не происходит.
Я попытался удалить свою перспективу отладки и создать новую, но у меня те же проблемы. Я загрузил скриншоты своей конфигурации отладки.
https://imgur.com/a/MXYHxJl
https://imgur.com/a/eEU47Ht
https://imgur.com/a/koOf08x
#include <iostream>
using namespace std;
int main () {
// Say HelloWorld five times
for (int index = 0; index < 5; ++index)
cout << "HelloWorld!" << endl;
char input = 'i';
cout << "To exit, press 'm' then the 'Enter' key." << endl;
cin >> input;
while(input != 'm') {
cout << "You just entered '" << input << "'. "
<< "You need to enter 'm' to exit." << endl;
cin >> input;
}
cout << "Thank you. Exiting." << endl;
return 0;
}
@BenjaminBihler Проблемы связаны с другими программами, написанными на Java. Я использую Photon, и они взяты из старых проектов Java, которые необходимо обновить. Я могу видеть запущенное приложение только тогда, когда я запускаю программу вне отладки. Когда я запускаю "нормально", приложение выводит на консоль и выводит цикл с запросом ввода символа. Но когда я устанавливаю точку останова и начинаю отладку, я просто получаю изменение перспективы отладки, но затем статус «завершен» в моем окне отладки. Я никогда не вижу ничего распечатанного в перспективе отладки.
Хммм, это странно. На вкладке «Отладчик» конфигурации отладки вы можете указать, хотите ли вы останавливаться при запуске в основном методе. Это могло помешать выходу, если отладчик сразу остановился на этом, а вы не сказали ему продолжить. Но если сообщается, что приложение было закрыто, то должна быть другая проблема. Возможно, вы захотите запустить отладчик из командной строки, чтобы проверить, работает ли он. К сожалению, сейчас у меня больше нет идей ...
Возможно, вы меня неправильно поняли. Не пытайтесь выяснить, запущено ли приложение, глядя на консоль. Проверьте представление «Отладка» в перспективе отладки. При отладке должно быть дерево. Верхний узел должен иметь имя вашего приложения. Фактически вы можете установить конфигурацию отладки так, чтобы она остановилась на main. Тогда с точки зрения отладки вы сможете исследовать свое (остановленное) приложение до того, как что-нибудь произойдет.
@BenjaminBihler Я проверил свою конфигурацию, и у меня был установлен флажок «останавливать при запуске в: Main». Я также включил снимки экрана с настройками конфигурации отладки. Я смотрю в перспективу отладки, когда вижу статус «завершено». Дерево отладки может расширяться, и когда я это делаю, я просто вижу <terminated, exit value: 0> gdb (7.6.1). Любые идеи? Я не понимаю, почему это не останавливается на точке останова. У меня не было этих проблем с отладкой приложений Java.
C++ сложнее Java в том, что касается отладки. Тем не менее, это отлично работает с Eclipse CDT. Ваши скриншоты выглядят нормально, ошибок не обнаружено. Извините, но у меня закончились идеи.





Я нашел решение своей проблемы, следуя инструкциям в этом другом сообщении: Eclipse C++ MinGW - Невозможно запустить программу <Завершено> Второй ответ - это то, что сработало для меня.
Мне пришлось щелкнуть правой кнопкой мыши мой проект - -> свойства - -> Параметры запуска / отладки - -> щелкнуть конфигурацию запуска и нажать «изменить». Оказавшись внутри экрана редактирования, щелкните вкладку «среда» и добавьте следующую переменную Имя = ПУТЬ ЗНАЧЕНИЕ =% ПУТЬ%; C: \ MINGW / BIN
У меня ничего не было настроено в среде, и изменение вышеупомянутого остановило отладчик на правильных точках останова в программе.
Но вы написали, что смогли нормально запустить программу. Что значит нормально? С нормальной конфигурацией запуска eclipse? Значит, вы уже должны задать этот путь !!!
@BenjaminBihler Когда я запускал «конфигурацию запуска», программа печатала на консоли и запускала программу по назначению. Но когда я запустил отладчик, ничего не произошло, когда он изменился на перспективу, и у меня была ошибка, о которой я изначально писал. Найдя сообщение, на которое я ссылался в ответе, мне также пришлось установить переменные моей системной среды и обновить PATH, чтобы C: \ MinGW \ bin был первым в моем списке. Выполнение этого, а также следование инструкциям, которые я опубликовал в своем ответе, заставили отладчик фактически остановиться на точке останова.
В вашем обзоре проблем есть проблемы. Может ли это иметь какое-то отношение к этому? В перспективе Debug есть представление под названием «Debug», которое показывает запущенное приложение и его трассировку стека. Вы видите, что ваше приложение там работает?