ソースウィンドウでファイルをデバッグしている場合gdb -tui、常にめちゃくちゃになります。したがって、ヒットするたびに+enterをすぐに入力してこの問題を解決する必要があります。これがウィンドウをリフレッシュする方法です。私はgnu screenでttyに取り組んでいます。ctrlLgdb
tui モードで gdb を自動的に更新する可能性はありますか?
gdb にこの機能がない場合、gdb は Python ファイルをソースできるため、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 でサポートされている他のすべての言語を受け入れます。
すべての助けに感謝します。
ちなみに、私の問題を示すスクリーンキャスト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