我正在使用ApacheAGE存储库,需要通过代码进行调试以了解从查询到获得结果的工作流程,但我不知道如何将AGE代码与GDB调试器连接起来

有人能告诉我做这件事的步骤吗?

推荐答案

1st step:使用以下选项启动数据库服务器:

pg_ctl -D DatabaseClusterName start

2nd step:使用以下工具运行psql实用程序:

psql postgres

3rd step:找到postgre实例的id(进程ID),如下图所示.您可以使用任何实用程序,例如ps -ef | grep postgres.我用过系统监控器(Linux). 因此,PID为618131

enter image description here

Step 4:在另一个终端运行gdb,使用:

Sudo GDB

Step 5:在相同的终端使用命令中:

attach 618131个 将PostgreSQL服务器连接到GDB.

Step 6:将年龄存储库的目录附加到gdb,以便gdb可以使用以下方式查找年龄代码:

例如:

dir /home/kamleshk/age_installation/age

Step 7:现在,您可以使用以下命令在所需函数处添加断点: 例如:

b parse_cypher

现在,当您通过psql将查询传递给postgres服务器时,查询将在断点处停止,您可以使用standard GDB commands移动代码.

您可以在This link上进一步了解逐步指南.

Postgresql相关问答推荐

Postgres BULK INSERT如何影响Debezium?

Postgres查询按月和年分组的总计数

使用jOOQ在postgres上取消嵌套enum_range

将具有自定义类型的表从一种模式复制到另一种模式

PostgreSQL 不删除旧的 WAL 档案

对表执行 DISABLE TRIGGER ALL 是否也会禁用 FK 指向该表?

从单选插入到多个表

找出两个表之间的差异

Postgres - 如何加入两列?

在postgresql中按经纬度查找最近的位置

Rails 重置所有 Postgres 序列?

判断值是否存在于列中

PostgreSQL CASE 在函数中的使用

如何使用 psql 命令列出、创建、使用和判断数据库?

返回 array_agg() 中的第一个元素

安装了 Postgres.app 但它不起作用

为什么是||在 PostgreSQL/Redshift 中用作字符串连接

使用 Homebrew 安装 icu4c 版本 63

用于将布尔列排序为 true、null、false 的 SQL

如何更改 PostgreSQL 中的 REFERENCES?