gdb的gui用法
调试代码的时候,只能看到下一行,每次使用list非常烦,不知道当前代码的context
http://beej.us/guide/bggdb/#compiling
简单来说就是在以往的gdb开始的时候添加一个-tui选项.有的版本已经有gdbtui这个程序了
在linux自带的终端里是正常显示的,但是在securecrt里面,可能由于编码的问题,边缘会有些乱码,不过不影响使用(如果你的程序有错误输出,会扰乱整个界面,所以在调试的时候,建议添加2>/dev/null,这样的话基本可用)
启动gdb之后,上面是src窗口,下面是cmd窗口,默认focus在src窗口的,这样的话上下键以及pagedown,pageup都是在移动显示代码,并不显示上下的调试命令.这个时候要切换focus,具体可简单参见
(gdb) info win 查看当前focus SRC (36 lines) <has focus> CMD (18 lines) (gdb) fs next 切换focus Focus set to CMD window. (gdb) info win SRC (36 lines) CMD (18 lines) <has focus> (gdb) fs SRC 切换指定focus Focus set to SRC window. (gdb)
(Window names are case in-sensitive.)
To start in neato and highly-recommended GUI mode, start the debugger with gdb -tui. (For many of the examples, below, I show the output of gdb‘s dumb terminal mode, but in real life I use TUI mode exclusively.)
And here is a screenshot of what you‘ll see, approximately:
In TUI mode, the layout command controls which windows you see. Additionally, the tui reg allows control of the register window, and will open it if it‘s not already open.
The commands are:
layout src | Standard layout—source on top, command window on the bottom |
layout asm | Just like the "src" layout, except it‘s an assembly window on top |
layout split | Three windows: source on top, assembly in the middle, and command at the bottom |
layout reg | Opens the register window on top of either source or assembly, whichever was opened last |
tui reg general | Show the general registers |
tui reg float | Show the floating point registers |
tui reg system | Show the "system" registers |
tui reg next | Show the next page of registers—this is important because there might be pages of registers that aren‘t in the "general", "float", or "system" sets |