当GCC上的GTEST测试失败时,是否可以选择打印堆栈跟踪?

Duc*_*een 8 c++ linux gcc stack-trace googletest

我在Linux上使用GTEST和GCC.我想在测试失败时看到打印的堆栈跟踪(无论是断言还是基于信号的崩溃).它可以手动完成,但我想知道它是否可以设置为GTEST构建/运行选项(对我的代码库没有多行修改)?

Pio*_*ycz 2

没有“完整”记录的选项:--gtest_stack_trace_depth=10(10 只是示例值)。

它必须与--gmock_verbose=info

是的 - 它适用于失败EXPECT_CALL- 仅在 gmock 中。

对于断言(如 ASSERT_EQ),它的意义较小 - 因为 ASSERT 就在它所在的位置 - 它的跟踪跟踪是空的(意味着不包含任何非 gtest/UT 代码)。

一个例子:

some_test --gmock_verbose=info --gtest_stack_trace_depth=10


如果您认为它也适用于 ASSERT* - 您可能会在这里提出问题: https: //github.com/google/googletest/issues