postgresql Apache AGE调试问题

4ioopgfo  于 2023-03-01  发布在  PostgreSQL
关注(0)|答案(4)|浏览(178)

Apache AGE调试问题

当我把PostgreSQL后端进程ID附加到GDB时,显示了以下消息。没有找到调试符号。我该怎么办?
是否需要设置任何特殊的标志或配置来启用AGE调试。

a6b3iqyw

a6b3iqyw1#

我猜在安装PostgreSQL的时候你忘了启用调试。为了启用PostgreSQL的调试符号,你需要从源代码重新编译PostgreSQL,并启用相应的调试标志。当从源代码编译时,你可以包含--enable-debug标志来启用调试符号。
通过设置标志配置

./configure --enable-debug --enable-cassert --prefix=$(pwd) CFLAGS="-ggdb -Og -fno-omit-frame-pointer"

有关详细信息,请参阅this

nzrxty8p

nzrxty8p2#

您仍然可以调试这两个问题的代码,您可以将它们视为警告并忽略它们。
您需要安装libc 6源代码来解决这些问题。
因此,如果您使用的是Debian/Ubuntu:
尝试:$ sudo apt-get source libc6
这就解决了你的问题。

ioekq8ef

ioekq8ef3#

您安装了优化级别为2的PostgreSQL,该级别阻止调试,因为它不包含符号。调试代码时,您需要查看调试符号。
您可以使用以下命令重新配置:

./configure --enable-debug --enable-cassert

来解决这个问题。

wljmcqd8

wljmcqd84#

尝试启用调试

./configure --enable-debug --enable-cassert --prefix=$(pwd) CFLAGS="-ggdb -Og -fno-omit-frame-pointer"

相关问题