首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GTest:处理分段错误

GTest:处理分段错误
EN

Stack Overflow用户
提问于 2020-07-31 19:25:43
回答 1查看 355关注 0票数 0

我正在使用GTest对我的项目进行单元测试。

我要测试的其中一个函数以分段错误终止,这不是此函数的正确行为。

我希望gtest像其他错误一样报告这个错误,但它没有。它不会运行其他测试用例,也不会在最后打印报告。

有没有办法从gtest那里得到关于这种行为的正确报告?

EN

回答 1

Stack Overflow用户

发布于 2020-07-31 23:31:02

你没有链接任何代码示例,所以我能给你的最好的答案是非常通用的。

你的问题是:

  1. 你的函数不正确,分段出错(边缘情况或主体)
  2. 你的测试写得不好,它(测试本身)就是分段出错的

当您的程序/测试试图做一些它不允许做的事情时,就会发生Seg故障(即,您尝试取消引用null ptr,访问不属于您的内存,等等)。Google Test不能处理信号SIGSEGV (没人能处理),所以你的程序会崩溃。Seg故障是一种操作系统的方式,它会告诉你你做了一些非法的事情,它们会立即终止你的程序。你需要修复分割错误才能得到结果。我建议做以下几件事:

  1. 了解如何使用GDB,并在GDB中运行程序以找出分段出错的位置
  2. 使用print语句找出程序分段出错的位置。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63190980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档