C++ 测试:如何自动附加调试器(GDB)?

C++ 测试:如何自动附加调试器(GDB)?,c++,debugging,boost,gdb,boost-test,C++,Debugging,Boost,Gdb,Boost Test,在为项目执行Boost测试时,我看到 Test command: ... Environment variables: BOOST_TEST_AUTO_START_DBG=yes BOOST_TEST_BUILD_INFO=yes BOOST_TEST_CATCH_SYSTEM_ERRORS=yes BOOST_TEST_COLOR_OUTPUT=yes BOOST_TEST_DETECT_FP_EXCEPTIONS=yes BOOST_TEST_LOG_FORMAT=HRF BO

在为项目执行Boost测试时,我看到

Test command: ...
Environment variables:
 BOOST_TEST_AUTO_START_DBG=yes
 BOOST_TEST_BUILD_INFO=yes
 BOOST_TEST_CATCH_SYSTEM_ERRORS=yes
 BOOST_TEST_COLOR_OUTPUT=yes
 BOOST_TEST_DETECT_FP_EXCEPTIONS=yes
 BOOST_TEST_LOG_FORMAT=HRF
 BOOST_TEST_LOG_LEVEL=test_suite
 BOOST_TEST_LOG_SINK=stdout
 BOOST_TEST_RANDOM=1
 BOOST_TEST_REPORT_FORMAT=XML
 BOOST_TEST_REPORT_LEVEL=detailed
 BOOST_TEST_REPORT_SINK=...
 BOOST_TEST_RESULT_CODE=yes
...
确认
auto\u start\u dbg
选项设置正确的内容。然后,例如,发生以下故障:

unknown location(0): fatal error: in "...": boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::ios_base::failure[abi:cxx11]> >: failed opening file: No such file or directory: iostream error
未知位置(0):致命错误:“…”:boost::exception\u detail::clone\u impl:打开文件失败:没有这样的文件或目录:iostream错误
我希望自动跳转到捕获此异常的交互式调试器实例(本例中为GDB)

我的期望是错误的还是我的配置有误?如何使用此选项

我的期望是错误的还是我的配置有误?如何使用此选项

你的期望是错误的。此选项仅与信号相关。尝试取消对空指针的引用,您将看到gdb autostart

编辑(2017/02/21) 我只是想到了一个更好的例子。使用
断言
。使用起来方便多了。它将引发一个
SIGABRT

我的期望是错误的还是我的配置有误?如何使用此选项

你的期望是错误的。此选项仅与信号相关。尝试取消对空指针的引用,您将看到gdb autostart

编辑(2017/02/21)
我只是想到了一个更好的例子。使用
断言
。使用起来方便多了。它将引发一个
SIGABRT

嗨,我刚刚想到了一个更好的例子,让它更方便使用。使用
断言
。如果没有给出预期的结果,它将产生一个
SIGABRT
。嗨,我刚刚想到了一个更好的例子,使它更便于使用。使用
断言
。如果没有给出预期的结果,它将发出一个
SIGABRT