我正在为Apache AGE开发,我经常使用make installcheck
命令来测试我刚刚做的事情。
我想知道是否有一种方法可以在GDB或任何其他工具下调试这个命令,并在我想要的地方设置断点。那会让我的生活轻松很多。
我试过gdb --args make installcheck
,但似乎不起作用。
编辑:
我已经知道如何使用GDB,我想知道的是,当我在Apache AGE目录的根目录上给予命令make installcheck
时,我是否可以调试所做的测试。
我正在为Apache AGE开发,我经常使用make installcheck
命令来测试我刚刚做的事情。
我想知道是否有一种方法可以在GDB或任何其他工具下调试这个命令,并在我想要的地方设置断点。那会让我的生活轻松很多。
我试过gdb --args make installcheck
,但似乎不起作用。
我已经知道如何使用GDB,我想知道的是,当我在Apache AGE目录的根目录上给予命令make installcheck
时,我是否可以调试所做的测试。
5条答案
按热度按时间vfhzx4xs1#
嘿,我已经创建了一篇关于如何通过GDB调试VSCode添加的函数的文章,步骤如下:
1.启动postgres服务器
1.通过psql会话连接
1.获取该后端进程的pid
1.在函数上或任何你想要的地方设置断点
1.通过单击F5开始调试VS代码,并写入从psql会话中获得的进程id
1.将命令写入psql会话(调用您的函数进入该会话并到达您设置的断点
1.有一个良好的调试日<3
演示:
您也可以查看博客条目:
k2fxgqgv2#
下面是调试扩展的方法。首先,您要启动postgres服务器(我假设您已经知道了),然后使用以下命令
ps aux | grep postgres
。找到表示postgres的进程:空闲,然后使用第二列中的数字:
sudo gdb -p <insert number here>
你就完成了!你可能想了解更多关于gdb
调试器的信息,比如设置断点,检查值等。这样你就能更舒服了mwkjh3gx3#
我相信
make
命令没有,但是一种方法是,正如其他人所说的,运行一个postgres示例,获取后端pid,将其附加到gdb,然后为回归测试调用的函数设置断点,然后执行回归测试中的相同查询。您还可以阅读
regression/regression.diffs
,以查看测试和输出文件之间的变化。brvekthn4#
正如其他人所说,您可以使用GDB或读取
regression.diffs
文件。你可以做的另一件事是阅读测试本身。它们位于regress/文件夹中。它们的组织方式是在regress/内部有两个文件夹:一个称为SQL,另一个称为Expected。如果您检查它们,您会注意到其中的文件具有镜像名称。这是因为expected/中的文件包含sql/中查询的结果,或者如果测试通过,查询应该是什么。要调试make installcheck,您可以尝试在其中一个sql文件中添加自己的查询,并在其中一个.out文件中添加预期结果。命令make installcheck
将检查它们是否都匹配。rqdpfwrv5#
为了检查installcheck中的错误,您可以检查regression.diff文件,该文件包含预期结果和实际结果之间的所有差异。如果你想进一步调试查询,你可以从expr.sql复制查询,然后在postgres示例中执行它们。This article详细提到了如何使用gdb进行agedb。