nod*_*kai 41 scroll gdb tui key-bindings
假设
(gdb) print *this
Run Code Online (Sandbox Code Playgroud)
产生了20行输出.是的,会有Type <return> to continue, or q <return> to quit
,但我想在输出到底部之后回滚到顶部.
我不认为http://sourceware.org/gdb/onlinedocs/gdb/TUI-Keys.html回答了我的问题.它指出
<PgUp>
将活动窗口向上滚动一页.
但是当焦点在命令窗口上时,PgUp会回退命令历史记录,而不是在命令窗口中向后滚动.只有我这个行为受到了影响吗?
我正在使用Putty来SSH到RHEL(如果这有任何不同.)
Lup*_*pus 42
我在这里找到了答案:http://beej.us/guide/bggdb/
请注意,当SRC窗口具有焦点时,箭头键将移动源代码,但是当CMD窗口具有焦点时,箭头键将选择命令历史记录中的上一个和下一个命令.(对于记录,移动SRC窗口单行和单页的命令是+, - ,<和>.)
还有一个示例会话说明了这一点:
(gdb) info win
SRC (36 lines) <has focus>
CMD (18 lines)
(gdb) fs next
Focus set to CMD window.
(gdb) info win
SRC (36 lines)
CMD (18 lines) <has focus>
(gdb) fs SRC
Focus set to SRC window.
(gdb)
Run Code Online (Sandbox Code Playgroud)
Byr*_*ins 33
在TUI模式下查看GDB输出历史记录的一种方法是启用日志记录:
set trace-commands on
set logging on
Run Code Online (Sandbox Code Playgroud)
然后在另一个shell中尾随日志:
cd where/gdb/is/running
tail -f gdb.txt
Run Code Online (Sandbox Code Playgroud)
这具有将滚动与命令交互分离的优点,因此您可以在查看GDB输出的过去部分时键入命令.
滚动键都不在我的CMD窗口中工作,因此GDB会有效地消耗和销毁自己的输出.切换出TUI模式允许我向上滚动,但在TUI模式下发生的输出不存在 - 非TUI窗口仅显示切换出TUI模式后生成的新输出.到目前为止,log和tail是我能找到的唯一解决方案.
编辑:如果set logging on
在切换到TUI模式之前激活GDB日志记录(via ),您可能会发现在进入TUI时停止记录(这是GDB中的错误).您可以重新打开它:
set logging off
set logging on
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17279 次 |
最近记录: |