cgdb 破坏了我的终端,发送了大量转义字符,然后不得不将其终止。如何配置才能使其正常工作?

cgdb 破坏了我的终端,发送了大量转义字符,然后不得不将其终止。如何配置才能使其正常工作?

cgdb 是 gdb 的改进版本,它使用 curses 绘制彩色文本并显示当前执行的行。gdb 可以工作,但是每次程序打印出文本时,gdb 都会移动,您必须按 control-L 来刷新。

我有很多学生在 Windows 下使用 cgdb,但出于某种奇怪的原因,我无法在 4 台独立的 Ubuntu 机器上运行它。因此,Ubuntu 20.04LTS 的默认配置似乎不起作用。以下是终端锁定前发生的情况的图片:

                                               CGDB: a curses debugger
                                                    version 0.6.7

                                       type  q<Enter>            to exit      
                                       type  help<Enter>         for GDB help 
                                       type  <ESC>:help<Enter>   for CGDB help
                                                                                                                        




*qqqqqqqj[39m(B(B[m[8;40H(0[0;1;7m[36m[39m(B(B[m[16;80H[H[2J(0[0;1;7m[36ml
qqqqqqqqqqqk[39m(B(B[m[2;1H(0[0;1;7m[36mx[39m(B(B[m[80G(0[0;1;7m[3
6mx[39m(B(B[m[3;1H(0[0;1;7m[36mx[39m(B(B[m[80G(0[0;1;7m[36mx
[39m(B(B[m[4;1H(0[0;1;7m[36mx[39m(B(B[m[80G(0[0;1;7m[36mx[39m(B(B
[m[5;1H(0[0;1;7m[36mx[39m(B(B[m[80G(0[0;1;7m[36mx[39m(B(B[m[6;1H(0[0;1;7m
[36mx[39m(B(B[m[80G(0[0;1;7m[36mx[39m(B(B[m[7;1H(0[0
;1;7m[36mx[39m(B(B[m[80G(0[0;1;7m[36mx[39m(B(B[m[8;1H(0[0;1;7m
[36mx[39m(B(B[m[8;17H(0[0;1;7m[36m[39m(B(B[m[ No Source Available ] 
[80G(0[0;1;7m[36mx[39m(B(B[m[9;1H(0[0;1;7m[36mx[39m(B(B[m[80G(0[0;1;7m
[36mx[39m(B(B[m[10;1H(0[0;1;7m[36mx[39m(B(B[m[80G(0
--Type <RET> for more, q to quit, c to continue without paging--

因此,这在 Windows 中使用 msys2 shell 可以正常工作,而运行 arch linux 的学生也没有问题。我认为默认终端是问题所在,因此我安装了 alacritty,结果也出现了这种情况。

TERM 设置为 xterm-256color,这可能是问题所在吗?如果是这样,我该将其设置为多少?

相关内容