gdb阅读PostgreSQL源码

gdb阅读PostgreSQL源码

一、编译安装Postgresql源码和gdb

具体安装可以看我前面几篇博客,进入postgre中输入:select pg_backend_pid();
在这里插入图片描述
之后再新开一个界面输入:sudo gdb -p 10666 后面的数字就是上一步的端口号。
在这里插入图片描述
可以看到这里有一点报错但是神奇的是好像没什么问题。。。就不管了先。

二、使用gdb进行调试

先设置一个断点:b ReadBuffer_common 然后c一下让程序继续执行。
在这里插入图片描述
然后简单的查询一下,例如:select * from COMPANY where id = 1;你就会发现你的断点被触发了
在这里插入图片描述
如果对哪一个参数感兴趣可以使用p命令打印变量值,例如:p smgr
在这里插入图片描述
这个的前面是类型后面是地址,这个时候我们可以直接使用星号访问这个地址:p *smgr
在这里插入图片描述
如果显示格式看着别扭可以使用:set print pretty on 更改显示格式
在这里插入图片描述

三、cscope的使用

首先非常的简单,安装一下cscope:sudo apt-get install cscope
然后在你要搜索的文件夹中执行:cscope -Rbq 生成索引文件。
之后就可以用vim打开具体的文件,先添加索引::cs add cscope.out 再具体查找::cs find g ReadBuffer_common
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值