gpt4 book ai didi

c++ - 这是防止 gtest (C++) 捕获异常和段错误的方法吗?

转载 作者:行者123 更新时间:2023-12-01 20:00:10 24 4
gpt4 key购买 nike

看起来 C++ 的 Google Test (gtest) 框架以某种方式捕获了所有失败的断言、异常和段错误。测试被标记为失败,但测试套件本身会恢复并运行随后的测试。

这看起来很酷,只是 gtest 框架打印到控制台的诊断输出非常有限。 CLion IDE 将提供更多信息,包括完整的堆栈跟踪和变量。关闭 gtest“崩溃恢复”机制是否有简单的方法?

最佳答案

我非常确定 GTest 无法“捕获”段错误 - 这是操作系统中断您的程序,而不是程序中断本身。

要禁用捕获失败,您可以执行以下操作(来自 documentation)

  • 禁用捕获异常
    将环境变量 GTEST_CATCH_EXCEPTIONS 设置为零或使用 --gtest_catch_exceptions=0 标志运行测试
  • 使 GTest 在失败时设置断点(在调试器下运行时)将环境变量 GTEST_BREAK_ON_FAILURE 设置为非零值或使用 --gtest_break_on_failure 标志运行测试

第二个选项将使您在任何失败时直接进入调试器交互模式,而不仅仅是转义异常。

关于c++ - 这是防止 gtest (C++) 捕获异常和段错误的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60849209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com