是否有可能在eclipse中设置断言断点?

时间:2013-08-30 10:01:46

标签: java eclipse debugging breakpoints assert

我有一个由数千个班级组成的大型项目。今天我发现,对于某些输入,在启用断言的情况下运行时会计算出不同的结果。

由于断言本身不会抛出AssertionError(我已经有一个断点),这意味着隐藏在代码中的某个地方是一个具有不必要副作用的断言语句。问题是我不知道我的> 100断言中的哪一个引起了问题。

由于assert不是一个方法,而是一个关键字在Java中,我在如何设置断点时会感到茫然,每次调用assert时都会遇到这个断点。

我找到的可能的解决方法:

  • 逐一评论断言并运行程序以最终找到罪魁祸首。
  • 使用代码覆盖率工具(例如eclEmma)运行我的测试用例,以过滤掉一些断言语句。
  • 仅对某些包启用断言,以缩小可能导致原因的断言数。
  • 进行搜索并替换(使用正则表达式)以通过实用程序方法替换断言,我可以在其中放置断点。

尽管如此,我想知道是否有人知道断言断言的方法,即使条件评估为真。

1 个答案:

答案 0 :(得分:5)

转到运行 - >添加Java异常断点 在搜索框中输入“AssertionError” 选择java.lang.AssertionError和OK

现在Eclipse将挂起断言