我尝试使用调试器在MacOS上调试代码。我尝试附加gdb调试器,但没有成功,在终端中运行gdb返回以下错误:
syed@syeds-mbp ~ % gdb zsh: command not found: gdb
如何将AGE与调试器(如gdb)连接以用于开发目的?
cclgggtu1#
经过一番研究,我发现苹果从gcc切换到clang,并停止在MacOS中包含gdb。clang的调试器是lldb(低级调试器),在MacOS中可用。注意:请确保在PostgreSQL配置中启用调试并设置lldb标记。如果未启用调试,请运行以下命令:
./configure --enable-debug --enable-cassert --prefix=$(pwd) CFLAGS="-glldb"
使用PostgreSQL进程附加lldb的步骤:
1.打开一个新终端并键入以下内容:
ps auxwww | grep postgres | grep -v grep
这个命令过滤掉当前正在运行的进程,只返回那些包含单词“postgres”的进程。复制你的postgres进程的PID。1.通过在终端中键入以下命令启动lldb来运行lldb。
lldb
1.通过运行以下命令将postgres进程与lldb连接:
attach PID //replace PID with your postgres PID
现在可以使用lldb进行调试,类似于gdb。
1条答案
按热度按时间cclgggtu1#
经过一番研究,我发现苹果从gcc切换到clang,并停止在MacOS中包含gdb。clang的调试器是lldb(低级调试器),在MacOS中可用。
注意:请确保在PostgreSQL配置中启用调试并设置lldb标记。如果未启用调试,请运行以下命令:
使用PostgreSQL进程附加lldb的步骤:
1.打开一个新终端并键入以下内容:
这个命令过滤掉当前正在运行的进程,只返回那些包含单词“postgres”的进程。复制你的postgres进程的PID。
1.通过在终端中键入以下命令启动lldb来运行lldb。
1.通过运行以下命令将postgres进程与lldb连接:
现在可以使用lldb进行调试,类似于gdb。