![cgdb 破坏了我的终端,发送了大量转义字符,然后不得不将其终止。如何配置才能使其正常工作?](https://linux22.com/image/1207846/cgdb%20%E7%A0%B4%E5%9D%8F%E4%BA%86%E6%88%91%E7%9A%84%E7%BB%88%E7%AB%AF%EF%BC%8C%E5%8F%91%E9%80%81%E4%BA%86%E5%A4%A7%E9%87%8F%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6%EF%BC%8C%E7%84%B6%E5%90%8E%E4%B8%8D%E5%BE%97%E4%B8%8D%E5%B0%86%E5%85%B6%E7%BB%88%E6%AD%A2%E3%80%82%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E6%89%8D%E8%83%BD%E4%BD%BF%E5%85%B6%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
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,这可能是问题所在吗?如果是这样,我该将其设置为多少?