【问题标题】:How to debug regression test binary pg_regress in postgreSQL?如何在 postgreSQL 中调试回归测试二进制 pg_regress?
【发布时间】:2018-12-30 00:19:00
【问题描述】:

我尝试在 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

【问题讨论】:

    标签: c++ postgresql macos testing lldb


    【解决方案1】:

    我终于没有找到使用gdb调试多进程pg_regress的方法。调试它的唯一方法是使用基本的 printf 命令。如果有人知道如何使用gdb或lldb来跟踪多进程程序,请提供答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多