gpt4 book ai didi

c++ - 不知道使用 google-test 在哪里抛出异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:56 24 4
gpt4 key购买 nike

我们使用 Google Test 作为我们的 C++ 单元测试框架。但是我遇到了一个痛苦的情况,不知道如何处理。

基本上,当代码中存在未捕获的异常时,我会在控制台中打印以下错误消息并得到一个FAILED。很明显,这个异常是被google test捕获的。但是,我根本不知道异常在哪里抛出。

unknown file: error: SEH exception with code 0xc000005 thrown in the test body.

我能做的就是调试和单步调试代码,我最终会找出问题所在。但这不是很有效,因为项目很大。

我希望调试器在未捕获的异常行处停止,并给我一个漂亮的调用堆栈。谷歌测试中有什么我不知道的设置吗?任何其他解决方法或建议将不胜感激。

编辑:我在 Windows 下寻找类似下面的东西 enter image description here

最后根据答案,我找到了 visual studio 的这个设置,现在一切都按照我想要的方式工作:) enter image description here

最佳答案

在工作中,我使用的方法是使用 gdb 仅运行失败的测试用例,如下所示:

gdb /path/to/test
catch throw
r --gtest_filter='Test.Testcase' --gmock_verbose=info
bt

使用 visual studio,我怀疑您应该能够像上面那样使用参数启动二进制文件,并为任何抛出设置断点,然后查看回溯。

关于c++ - 不知道使用 google-test 在哪里抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30239987/

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