Вот моя очень простая программа, которую я пытаюсь отладить с помощью cgdb. Проблема в том, что как только я попадаю в строку «scanf», она запрашивает ввод, но как только я нажимаю ввод после ввода (2 в примере ниже), кажется, что он входит в бесконечный цикл. Это прекрасно работает в GDB, хотя.
#include <cstdio>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", n);
return 0;
}
Вот трассировка выполнения в терминале:
Введите «apropos word» для поиска команд, связанных с «word» …
Чтение символов из теста … сделано.
(GDB) начать
Временная точка останова 1 в 0x400585: файл test.cpp, строка 7.
Запуск программы: / home / Алекс / рабочий стол / тест
Временная точка останова 1, main () в test.cpp: 7
(GDB) следующий
2 (это мой вклад)
Здесь начинается бесконечный цикл.
Согласно информационной странице cgdb, вам необходимо:
Чтобы вызвать окно tty, нажмите «T» в командном режиме (escape)
Извлечено из информационной страницы:
Отправка ввода / вывода в отлаживаемую программу
Этот метод аналогичен входу и выходу из «режима GDB». Окно tty не
видимый по умолчанию. Это потому, что это нужно только если пользователь
хочет отправить данные в отлаживаемую программу. Для отображения tty
окно, нажмите `T ‘в режиме команд.