一:GDB调试入门
切换到root下执行
查看进程号:
ps -ef | grep postgres
连接进程
gdb postgres **16581**
打断点
b ExecResult
执行SQL
select 1
SQL会卡在那里动不了, 使用c命令继续执行,然后再断点处(ExecResult)停止
查看堆栈
bt
:显示不全
continue run //运行程序,停止在断点处
list //显示代码,也可以list n(n表示从第n行开始显示代码,用区间也可以)
step //表示单步执行
run //因为没有下一个断点了,所以会一直执行到程序结束
G跳到行尾部vi
git -r可以重新运行到当前的断点
多看看gdb的命令的含义
gdb —args /repl/build/runtime_output_directory/mysqld —basedir=/usr/local/mysql-rep —datadir=/usr/local/mysql-rep/data/3308 —skip-grant-tables —bind-address=127.0.0.1 —port=3308
先打断点然后 run
看官方文档可以解决一些网上没有的
/repl/build/runtime_output_directory
调试注意
以root启动
授权安装文件夹给普通用户
回复 赞