27

ソースウィンドウでファイルをデバッグしている場合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 -Vncurses 5.9.20140118

4

2 に答える 2