之前一直用gdb调试代码,最近在搞pg的时候用了一个cgdb,体验很好,调试pg代码的时候真的很方便。
本文主要讲解在进行pg内核开发的时候,如何搭建一个环境,用cgdb方便快捷的调试postgresql代码。
1.pg运行在linux服务器上,首先运行SecureCRT连到linux
注:讲crt的颜色方案调成多彩的 看代码的时候舒服一些
2.在crt的一个会话里用psql连接到pg
3.在crt的另一个会话里面通过ps -ef|grep postgres可以看到
如果调试刚才执行psql产生的子进程postgres 4292 4283 0 14:52 ? 00:00:00 postgres: postgres postgres [local] idle
执行 cgdb att 进程号
如[root@centos01 ~]# cgdb att 4292
看到了吧 可以愉悦的设置的断点了 上面显示代码 下面进行操作
如果想要调试pg主进程初始化部分代码怎么办?启动pg 主进程很快执行完初始化过程了 这时候没有时间去执行各个命令那 好尴尬啊!!
不过没问题 在代码里面加个sleep函数 让它休息一会,你就有充足时间进行ps和cgdb了 真是太机智了