如何清除gdb命令屏幕?

62

在gdb中清空命令窗口是否可能?我的意思是,是否有一个类似于bash终端中的clear命令的命令,在gdb中可以完成相同的操作(清空命令窗口)?

3个回答

80

按下 Control + L。在 Linux 和 Mac OS X 上,对于最新版本的 GDB 也适用。


1
实际上,这在终端中也可以工作。而且,在没有'clear'命令的Cygwin终端中也可以工作。因此,这是一个养成好习惯的好方法。;-) - DevSolar
1
@JohnTortugo 你一定在使用一些疯狂的环境。 - user529758
@H2CO3 在OSX/xterm下也不能正常工作,这是一个相当普通的设置。 - pb2q
@H2CO3:我以为知道这个。我只是想为其他读者提一下。 - DevSolar
@JohnTortugo:使用Ctrl-L清除屏幕是shell的一个特性,而不是终端仿真器的特性(shell必须知道要使用哪个控制序列;这就是“terminfo”的作用)。 - Keith Thompson
Control L不能清除屏幕。它会将屏幕向上移动,以便最后一行位于顶部。 pd2q的答案中有“shell clear”,实际上可以清除屏幕。 - UKMonkey

59
根据不同的环境,您可以尝试这个键盘组合:Ctrl+L。也就是说:按住Control键,然后输入L键。

但在某些环境下可能无法使用此方法。您还可以尝试以下方法:在gdb中,您可以使用shell执行shell命令:使用它来调用清除终端的shell命令:

shell clear

1
此返回“XTERM”:未知终端类型。 - JohnTortugo
1
@JohnTortugo 你是在 xterm 中运行 gdb 还是通过 ssh 等方式运行的? - pb2q
@JohnTortugo 我无法测试,但听起来你需要调整你的 TERM 设置。 - pb2q
你说得对,这个方法对我总是有效的。Ctrl + L 有时可能会失败,例如清除TUI输出。 - Vraj Pandya
1
我能以这样的方式做到我的寄存器和汇编TUI布局仍然可见吗?我只需要清除gdb的cmd部分。啊,找到了,留下这个评论,因为问题可能也会考虑我的用例(当看标题时)。https://dev59.com/4J_ha4cB1Zd3GeqPvTgv - Melvin Roest
显示剩余5条评论

0
如果您从MingW下载了gdb,则您的cmd.exe似乎被称为shell,因此要清除命令屏幕,您需要使用此命令。
shell cls

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接