我试图在Mac上使用lldb在postgreSQL中调试pg_regress。但是,当我使用lldb运行pg_regress时,测试失败并报告:“未能等待子进程:系统调用中断”
我定制了一个只有一个测试SQL的测试计划文件。当我执行make check时,回归测试通过了。
以下是通过Clion用lldb调试时的输出:
============== removing existing temp instance ==============
============== creating temporary instance ==============
============== initializing database system ==============
============== starting postmaster ==============
running on port 60848 with PID 16262
============== creating database "regression" ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries ==============
test some_test ... failed to wait for subprocesses: Interrupted system call
Process finished with exit code 2
预期结果应为
============== removing existing temp instance ==============
============== creating temporary instance ==============
============== initializing database system ==============
============== starting postmaster ==============
running on port 60848 with PID 16262
============== creating database "regression" ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries ==============
test some_test ... ok
答案 0 :(得分:0)
我终于找不到使用gdb调试多进程pg_regress的方法。调试它的唯一方法是使用基本的printf命令。如果有人知道如何使用gdb或lldb跟踪多进程程序,请提供答案。