一、安装
sudo apt install emacs
二、配置
2.1 配置界面
下载 .emacs 文件置于用户home目录下
https://github.com/zhuweipu/environment
功能说明
最上面设定了 ALT + 方向键就可以在窗口中跳转,终端 alt+方向可以改成 C-left, C-right 等用 ctrl + 方向键移动窗口。
后面设定了一些常用命令的快捷,最后设置了默认打开 gdb-many-windows。
上面代码为允许鼠标操作。
上面代码为更改布局。
2.2 快速启动
在.bashrc文件中填入以下语句
gdbtool(){emacs --eval"(gdb \"gdb --annotate=3 -i=mi $*\")";}
终端下我们对要调试的程序只需要输入
$ gdbtool 程序名
就能自动打开 emacs 并且切换到 gdb-mode ,展开多窗口开始调试。
三、使用说明
3.1 布局说明
从上到下分别是: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 命令一一对应。