PostgreSQL源码1:select 1

/opt/pg18d/bin/psql -p 5435

postgres=# select pg_backend_pid();

pg_backend_pid


2543087

(1 row)

postgres=#

gdb postgres 2543087

gdb postgres 2543087

GNU gdb (Red Hat Enterprise Linux) 16.3-2.0.1.el9

Copyright (C) 2024 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html\>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

Type "show copying" and "show warranty" for details.

This GDB was configured as "x86_64-redhat-linux-gnu".

Type "show configuration" for configuration details.

For bug reporting instructions, please see:

<https://www.gnu.org/software/gdb/bugs/\>.

Find the GDB manual and other documentation resources online at:

<http://www.gnu.org/software/gdb/documentation/\>.

For help, type "help".

Type "apropos word" to search for commands related to "word"...

postgres: No such file or directory.

Attaching to process 2543087

Reading symbols from /opt/pg18d/bin/postgres...

Reading symbols from /lib64/libz.so.1...

Reading symbols from /usr/lib/debug/usr/lib64/libz.so.1.2.11-1.2.11-40.el9.x86_64.debug...

Reading symbols from /lib64/libm.so.6...

Reading symbols from /usr/lib/debug/usr/lib64/libm.so.6-2.34-275.0.1.el9_8.x86_64.debug...

Reading symbols from /lib64/libicui18n.so.67...

Reading symbols from /usr/lib/debug/usr/lib64/libicui18n.so.67.1-67.1-10.el9_6.x86_64.debug...

Reading symbols from /lib64/libicuuc.so.67...

Reading symbols from /usr/lib/debug/usr/lib64/libicuuc.so.67.1-67.1-10.el9_6.x86_64.debug...

Reading symbols from /lib64/libc.so.6...

Reading symbols from /usr/lib/debug/usr/lib64/libc.so.6-2.34-275.0.1.el9_8.x86_64.debug...

Reading symbols from /lib64/ld-linux-x86-64.so.2...

Reading symbols from /lib64/libstdc++.so.6...

Reading symbols from /usr/lib/debug/usr/lib64/libstdc++.so.6.0.29-11.5.0-14.0.1.el9.x86_64.debug...

Reading symbols from /lib64/libgcc_s.so.1...

Reading symbols from /usr/lib/debug/usr/lib64/libgcc_s-11-20240719.so.1-11.5.0-14.0.1.el9.x86_64.debug...

Reading symbols from /lib64/libicudata.so.67...

Reading symbols from /usr/lib/debug/usr/lib64/libicudata.so.67.1-67.1-10.el9_6.x86_64.debug...

(No debugging symbols found in /usr/lib/debug/usr/lib64/libicudata.so.67.1-67.1-10.el9_6.x86_64.debug)

Thread debugging using libthread_db enabled

Using host libthread_db library "/lib64/libthread_db.so.1".

0x00007fef2410fdda in epoll_wait (epfd=6, events=0x2ef6990, maxevents=1, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30

30 return SYSCALL_CANCEL (epoll_wait, epfd, events, maxevents, timeout);

(gdb)

设置断点:

(gdb) b ExecResult

Breakpoint 1 at 0x7c6677: file nodeResult.c, line 69.

(gdb)

psql执行select 1;

postgres=# select 1;

gdb输入c

(gdb) c

Continuing.

Breakpoint 1, ExecResult (pstate=0x2fd3768) at nodeResult.c:69

69 ResultState *node = castNode(ResultState, pstate);

(gdb)

gdb输入bt

gdb输入list可以查看当前

gdb输入up,down

相关推荐
风哥2号13 小时前
数据库教程FGMT51‑PostgreSQL实例管理与参数文件
数据库·postgresql
lusklusklusk15 小时前
Oracle索引组织表,SQLServer聚集索引,Mysql Innodb表的数据行不是在磁盘上像排队一样严格连续地存放
mysql·postgresql·oracle·sqlserver
redfred20 小时前
Outline 部署教程:4 万 Star 自托管知识库,免费替代 Notion(Windows 源码部署完整指南)
postgresql·开源软件·notion
jnrjian1 天前
公司有CA服务器生成cert key csr
postgresql·redhat
jnrjian1 天前
EDB CA cert key
postgresql
IvorySQL2 天前
PostgreSQL 日报|在线校验和特性被回退(9 月 17 日)
数据库·人工智能·postgresql
geovindu2 天前
sql:Data Modeling Patterns using PostgreSQL 18
postgresql·数据库开发·数据库架构
l1t2 天前
DeepSeek总结的PostgreSQL 19 发生了什么
数据库·postgresql
TechWJ3 天前
没有公网 IP 也想远程连 PostgreSQL?从本地数据库到固定 TCP 地址完整配置
大数据·数据库·网络安全·postgresql·内网穿透
あ-3 天前
postgres创建只读用户
postgresql