赞
踩
- // /usr/local/mysql80/bin/mysqld --defaults-file=/home/mysql80/my80.cnf 为 MySQL 启动命令
- gdb --args /usr/local/mysql80/bin/mysqld --defaults-file=/home/mysql80/my80.cnf
结果如下所示:
说明:执行完启动命令后会直接跳转到 “--Type for more, q to quit, c to continue without paging--” 直接回车即可!回车后,如果出现:Reading symbols from /usr/local/mysql80/bin/mysqld...,则说明启动成功!
启动结果如下所示:
- // 设置断点,is_cond_match_ranges 为函数名,也可以是代码路径 + 具体行数
- b is_cond_match_ranges
-
- // 执行到第一个断点处
- r
执行结果如下所示:
/usr/local/mysql80/bin/mysql -h127.0.0.1 -uroot -P3307
接着在该窗口执行 SQL 命令,便可调试 SQL 语句,结果如下:
查看窗口 1 状态
窗口 1 状态如下所示:
直接回车,便可进入语句:select * from t1 where id >8 limit 2, 2; 的调试,结果如下:
由上图可知,调试进入了 is_cond_match_ranges 函数的第一行!
关于 gdb 调试更多命令,详见:gdb 快速上手(附带测试案例)_gdb 测试-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。