GDB技巧:使用终端界面模式
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答
- GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
简介
准备工作
进入TUI模式
退出TUI模式
1. 简介
GDB是在MySQL调试时最常使用到的调试工具,在终端界面(TUI, Text User Interface)模式下, GDB可以和Visual Studio或者CLion一样像IDE一下显示和跟踪代码。
2. 准备工作
以下命令在 ubuntu 20.04上通过,gdb
- 安装GCC、GDB
sudo apt install gcc gdb
- 编译一个基本程序
使用任意文本编辑器,编写代码,并进行保存,如:hello.c
执行以下命令:
gcc -g -o hello hello.c
注: 其中-g代表添加DEBUG信息
3. 进入TUI模式
进入TUI模式的效果如下:

进入该模式的方法总体包括:
命令行参数模式: gdb --tui ./hello 其中,--tui告诉gdb启动终端界面模式
GDB命令模式
gdb ./hello
#进入GDB界面后, 以下命令任意输入一条
(gdb) layout src
(gdb) tui enable
3.1 调整UI的大小
某些情况下需要调整窗口的大小,可以使用:winheight src + 10或winheight src - 5之类的命令调整代码窗口大小
3.2 使用命令历史
默认情况在TUI模式下,上下箭头(Up, Down)按键已经被转成,代码窗口的上下移动,可以使用:Ctrl+P和Ctrl+N来调用前一条命令或后一条命令
可以输入focus next来激活命令窗口,这样上下箭头(Up, Down)按键又编程前一条命令和后一条命令
3.3 调整UI的大小
某些情况下需要调整窗口的大小,可以使用:winheight src + 10或winheight src - 5之类的命令调整代码窗口大小
3.4 使用命令历史
默认情况在TUI模式下,上下箭头(Up, Down)按键已经被转成,代码窗口的上下移动,可以使用:Ctrl+P和Ctrl+N来调用前一条命令或后一条命令
可以输入focus next来激活命令窗口,这样上下箭头(Up, Down)按键又编程前一条命令和后一条命令
3.5 切换窗口类型(不常用)
某些情况下,可能需要查看汇编代码、查看寄存器值等信息,可以使用:Ctrl+x后按2,进行切换,按同样按键可以在继续进行切换,效果如下:

4. 退出TUI模式
以下命令任意输入一条:
使用组合键 Ctrl+x+a (一起按下)
使用命令 tui disable
Enjoy GreatSQL
文章推荐:
技术分享 | MGR最佳实践(MGR Best Practice)
https://mp.weixin.qq.com/s/66u5K7a9u8GcE2KPn4kCaA
技术分享 | 万里数据库MGR Bug修复之路
https://mp.weixin.qq.com/s/IavpeP93haOKVBt7eO8luQ
Macos系统编译percona及部分函数在Macos系统上运算差异
https://mp.weixin.qq.com/s/jAbwicbRc1nQ0f2cIa_2nQ
技术分享 | 利用systemd管理MySQL单机多实例
https://mp.weixin.qq.com/s/iJjXwd0z1a6isUJtuAAHtQ
产品 | GreatSQL,打造更好的MGR生态
https://mp.weixin.qq.com/s/ByAjPOwHIwEPFtwC5jA28Q
产品 | GreatSQL MGR优化参考
https://mp.weixin.qq.com/s/5mL_ERRIjpdOuONian8_Ow
关于 GreatSQL
GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。
Gitee:
https://gitee.com/GreatSQL/GreatSQL
GitHub:
https://github.com/GreatSQL/GreatSQL
微信&QQ群:
可搜索添加GreatSQL社区助手微信好友,发送验证信息“加群”加入GreatSQL/MGR交流微信群
QQ群:533341697
微信小助手:wanlidbc
本文由博客一文多发平台 OpenWrite 发布!
GDB技巧:使用终端界面模式的更多相关文章
- GDB技巧整理
https://blog.atime.me/note/gdb-tricks.html 整理常用的gdb技巧. 常用命令 常用的gdb命令... 启动gdb 直接运行 gdb --args prog a ...
- Android SDK 环境的搭建 --图形界面模式和命令行模式
Android 开发首先就是要搭建开发环境,没有用过Eclipse(ADT)开发过,直接用的Android Studio,其中最主要的就是 Android SDK的安装和搭建,所以这里只是总结下And ...
- 电脑技巧---完全控制面板---上帝模式(God Mode)
简介 上帝模式,即"God Mode”,或称为“完全控制面板”.是Windows 系统中隐藏的一个简单的文件夹窗口,但包含了几乎所有Windows系统的设置,如控制面板的功能.界面个性化.辅 ...
- python selenium chrome有界面与无界面模式
from selenium.webdriver.chrome.options import Options from selenium import webdriver # 无界面模式 def Chr ...
- selenium(六)Headless Chrome/Firefox--PhantomJS停止支持后,使用无界面模式。
简介: 以前都用PhantomJS来进行无界面模式的自动化测试,或者爬取某些动态页面. 但是最近selenium更新以后,'Selenium support for PhantomJS has bee ...
- kvm安装图终端界面及形界面安装系统
1.图形界面安装: qemu-img create -f qcow2 /kvm/os/vm-01.qcow2 16G mkdir -p /kvm/iso cd /kvm/iso 上传事先下载好的镜像文 ...
- selenium+python自动化100-centos上搭建selenium启动chrome浏览器headless无界面模式
环境准备 前言 selenium在windows机器上运行,每次会启动界面,运行很不稳定.于是想到用chrome来了的headless无界面模式,确实方便了不少. 为了提高自动化运行的效率和稳定性,于 ...
- linux无界面模式安装selenium+chrome+chromedriver并成功完成脚本(亲测可用)
环境:docker centos 7.4 能通外网 写好的selenium脚本. 具体步骤: 一:安装selenium 这是最简单的 直接利用 pip3 install selenium 二 安装c ...
- selenium 浏览器无界面模式运行
以Chrome浏览器为例: 方法一: from selenium.webdriver import Chrome, ChromeOptions opt = ChromeOptions() # 创建Ch ...
随机推荐
- 技术管理进阶——空降Leader如何开展工作?
原创不易,求分享.求一键三连 前几天有个粉丝咨询了一个的问题: 最近遇到一个空降Leader,挺苦恼的: 新Leader技术很厉害,但平时根本就不管我们,也不愿意了解业务,更像是一个技术顾问. 具体案 ...
- 免申请直接用上 IDEA 新 UI,只需要这三步配置
早上给大家介绍了IDEA官方宣布正在开发一套全新的UI,但目前是预览版需要申请才能体验. 随后马上就有网友分享了,不需要申请直接就能激活体验的方法. 本期视频:https://www.bilibili ...
- Spring Authorization Server(AS)从 Mysql 中读取客户端、用户
Spring AS 持久化 jdk version: 17 spring boot version: 2.7.0 spring authorization server:0.3.0 mysql ver ...
- String、StringBuilder、StringBuffer——JavaSE基础
String.StringBuilder.StringBuffer String不可变 StringBuilder与StringBuffer均可变 StringBuilder线程不安全,效率高,常用 ...
- Vmware虚拟机安装及相关配置流程
1.Vmware虚拟软件安装 1.1下载地址 vmware 12 pro 的版本稳定性较好,所有我们最好选择该版本 下载地址:https://www.onlinedown.net/soft/10053 ...
- 一些有趣的B+树优化实验
作为目前数据库引擎的两种主要数据结构,LSM-tree和B+-tree在业界已经有非常广泛的研究.相比B+-tree,LSM-tree牺牲一定的读性能以换取更小的写放大以及更低的存储成本,但这必须建立 ...
- DirectX11 With Windows SDK--19(Dev) 编译Assimp并加载模型、新的Effects框架
前言 注意:这一章进行了重写,对应教程Dev分支第19章的项目,在更新完后面的项目后会替换掉原来第19章的教程 在前面的章节中我们一直使用的是由代码生成的几何模型,但现在我们希望能够导入模型设计师生成 ...
- 抓包整理外篇fiddler————了解工具栏[一]
前言 抓包本篇还没写完,因为在工作中,发现有人用fiddler 用的还不是很好,所以去介绍一下这个东西,fiddler大体分为10多个章节. 正文 首先了解一下fiddler的抓包原理哈. 可以看到当 ...
- 把excel的数据导入到SQLSERVER里面,excel的字符串时间在导入sql库显示datetime 数据类型的转换产生一个超出范围的值
这是我Excel导入的数据,准备把这个varchar(50)时间导入我的userInfo表中的出生日期字段datatime,如果你的数据正常,是可以导入的, 但是有些日期可能超出datatime的最大 ...
- 【Java面试】简单说一下你对序列化和反序列化的理解
Hi,大家好,我是Mic 一个工作4年的粉丝,投了很多简历 好不容易接到一个互联网公司的面试邀约. 在面试第一轮就被干掉了,原因是对主流互联网技术理解太浅了. 其中就有一个这样的问题:"简单 ...