从上到下分别是:GDB终端,本地变量监控,源代码,程序输出,栈帧,断点列表。
右上角的本地变量窗口上面有两个按钮,可以鼠标点击切换显示本地变量还是寄存器。
右下角的也有两个按钮切换显示断点还是线程。最上面绿色部分的按钮也可以直接鼠标点击。
3.2 emacs基本命令
c-代表ctrl+,m-代表alt+。
切换文件:c-x c-f (先按 ctrl_x 再按 ctrl_f),输入文件名时可以用 tab 补全
移动光标:方向键,或者 c-f, c-b, c-p, c-n;
切换缓存:c-x b 切换当前窗口里的缓存,c-x c-b 打开新窗口切换缓存。
窗口操作:c-x o 窗口切换,c-x 2 / c-x 3 上下/左右分屏,c-x 0 / c-x 1 关闭 / 独占
输入命令:m-x (按 ALT_x)输入命令可以用 tab 补全,c-g 退出命令输入。
退出命令:c-x c-c
3.3 gdb窗口
一般来说在emacs中输入 m-x gdb可以跳转至gdb,然后m-x gdb-many-windows可以打开多窗口,脚本已经完成上述工作。
只需用鼠标在不同窗口之间focus就好,在gdb终端正常使用gdb命令,按下回车时所在行的所有字符都会被当成命令,所以最好在空白行处开始打命令。
快捷键
F5 - 运行,Shift + F5 - 继续
F7/F8 代码级单步, 以及 Shift-F7/F8 指令级单步
F9 - 设置断点,Shift-F9 删除断点 取决于当前的源码窗口箭头在哪一行
F10 - 跳出循环,Shift-F10 跳出函数
F4 - 移动到上一个调用栈帧,Shift-F4移动到下一个
3.4 源码窗口
大部分时候我们会在源代码窗口工作,使用 c-x o (直接鼠标点也行)将窗口定位到源代码窗口。
m-x输入命令或者对应快捷键(组合不是任意一个的意思)进行操作,gud- 开头的 gdb 命令一一对应。