JetBrains家IDE通用调试方法:
打断点,在你想要停下的行的header位置点击一下鼠标左键,会出现一个红色的圆形断点图标
2.点击工具栏的小虫子图标,以debug模式启动程序
3.程序执行到断点位置时,会停在这一行
4.按F8执行下一行,按F7进入函数执行,按F9恢复程序运行。
解决方案:
因为 MySQL 5.6 初始化数据比较麻烦,不支持 mysqld 的 --initialize-insecure 选项。
所以不选用这种方式了。
第(2)和第(4)步可以参考 使用 CLion 调试 redis 。
编译成功输出:
击菜单栏【Build】=》【Install】进行安装。
安装成功输出:
初始化数据目录:
选择 mysqld configuration , 以 Debug 模式运行。
成功运行输出:
在 CLion 中,对 sql_parse.cc 中的 mysql_execute_command() 方法进行断点。
执行下面的语句连接上 mysql 服务。
在 mysql-client 中执行如下命令:
然后在 CLion 中即可发现已经被断点拦截,且可以发现 Statement class 中的 query_string 字段和 我们上面输入的命令 show databases 是一样。
至此,已经完成了 CLion 调试 MySQL 环境的搭建。
对于 mysqld ,可以通过设置 debug 系统变量在运行时更改 DBUG设置 。
此变量具有全局值和会话值:
该 debug_options 值是用 冒号( : )分隔 的字段的序列:
值中的每个字段都包含一个强制性标志字符。
我们使用的标志字符如下所示:
以 root 用户连接到 mysqld。
然后,在 mysql 中执行 select 语句,就可以在 CLion console 中观察到如下图所示输出。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)