如果我用gdb -tui
debugging文件,源代码窗口总是会变得混乱。 所以每次我input我立即inputCtrl + l来摆脱这个问题,这是如何gdb刷新窗口。 我正在使用gnu屏幕进行tty工作。
有没有可能在tui模式下自动刷新gdb?
如果gdb没有这种能力,Python可能是一个解决scheme,因为gdb能够获取Python文件,但我不知道Python。
这个Python代码片段在Bash中工作正常,但不在gdb中:
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支持的所有其他语言。
每一个帮助表示赞赏。
顺便说一下,这里是一个截屏videohttps://youtu.be/DqiH6Jym1JY ,显示我的问题。
这是我用来在gdb中演示的文件,就像show上面的链接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; }
由tic -V
显示的我的实际ncurses版本是ncurses 5.9.20140118