Если я отлаживаю файлы с gdb -tui
, исходное окно всегда становится испорченным. Поэтому каждый раз, когда я нажимаю , введите Мне нужно сразу ввести ctrl + L, чтобы избавиться от этой проблемы, вот как gdb
заново закроет окно. Я работаю над tty с экраном gnu.Как автоматически обновлять gdb в режиме tui?
Есть ли возможность автоматического обновления gdb в режиме tui?
Если gdb не обладает этой способностью, Python может быть решением, потому что gdb способен создавать файлы Python, но я не знаю о Python.
Это Python фрагмент хорошо в Bash, но не работает в БГД:
import sys
r = "\033[2J" # here I try to emulate [ctrl-L]
t = ""
while 1:
i = sys.stdin.read(1)
t = t +i
if i == '\n':
print(r)
Конечно, я принимаю любой другой язык, поддерживаемый GDB.
Каждая помощь приветствуется.
Кстати, вот скринкаст https://youtu.be/DqiH6Jym1JY, который показывает мою проблему.
Это файл, который я использовал для демонстрации в GDB, как по ссылке выше шоу, mess_up.c
#include <stdio.h>
int main(void){
//int n = 120;
int n;
n = 120;
char stuff[n+2];
printf("Max: %d\n", n);
printf("Sizeof int: %d\n", sizeof(int) );
printf("Sizeof char: %d\n", sizeof(char));
printf("Sizeof n: %d\n", sizeof n );
printf("Sizeof stuff: %d\n", sizeof stuff );
fgets (stuff , n , stdin);
printf("The stuff:\n%s\n", stuff);
printf("Sizeof stuff after input = %d\n", sizeof stuff );
return 0;
}
Моей фактического Ncurses версии отображаемого tic -V
является ncurses 5.9.20140118
Экран может быть вашей проблемой. Лично я нахожу работу, что работа с gdb из emacs через 'M-gdb' работает очень хорошо, поскольку интеграция обрабатывает исходные файлы в отдельном окне, которое вы даете командам самому gdb. – xxfelixxx
У меня такие же проблемы, если я работаю только на tty без экрана. Я не могу поверить, что gdb работает правильно с emacs. –
Некоторые примеры с изображениями/видео: http://tuhdo.github.io/c-ide.html – xxfelixxx