我正在使用Eclipse Mars 4.5.2。当我的应用程序运行覆盖测试时,到目前为止有317个测试方法,当它即将完成时(大约274个方法运行),我收到错误,我找不到解决方案。
首先是一个弹出窗口说:
无覆盖率数据
此期间未收集任何承保范围数据 报道会议。
请不要手动终止Java进程 来自Eclipse。
secon弹出窗口:
'com.mountainminds.eclemma.internal.core.launching.AgentServer'有 遇到了问题。转储覆盖日期时出错(代码5013)。
[详细说明:] 转储覆盖数据时出错(代码5013)。连接 重置
然后是以下控制台日志:
Java Runtime Environment检测到致命错误:
EXCEPTION_ACCESS_VIOLATION(0xc0000005)at pc = 0x000000005f9b96af,pid = 2024,tid = 3772
JRE版本:Java(TM)SE运行时环境(8.0_66-b18)(版本1.8.0_66-b18) Java VM:Java HotSpot(TM)64位服务器VM(25.66-b18混合模式windows-amd64压缩oops) 有问题的框架: V [jvm.dll + 0x4b96af]
无法编写核心转储。默认情况下,在Windows的客户端版本
上未启用小型转储包含更多信息的错误报告文件保存为: X:\ XXXXX \ hs_err_pid2024.log
编译器重放数据保存为: X:\ XXXXX \ replay_pid2024.log
如果您想提交错误报告,请访问: http://bugreport.java.com/bugreport/crash.jsp
我已经遭受了这个问题几个星期了,正如我所说,我找不到任何解决方案,只是四五年前EclEmma网站上的类似错误报告。
我尝试为JUnit设置以下JVM参数:-Xms2g -Xmx2g
。
我的测试没有任何数据库连接,服务器连接或网络连接。他们也没有提出任何HTTP请求。
我尝试重新安装EclEmma插件以及重新安装Eclipse。问题依然存在。
答案 0 :(得分:1)
更新coverage配置。转到Arguments部分并在VM参数部分中添加以下perm size参数: -XX:MaxPermSize参数=1225米
答案 1 :(得分:0)
来自 Eclipcse 帮助:
如果 Java VM 在外部被杀死,例如使用Eclipse Terminate 操作,无法显示覆盖结果
截图:
<块引用>覆盖数据收集
覆盖数据会在以下情况下自动收集和呈现 应用程序自行终止。 如果 Java VM 被杀死 外部,例如用 Eclipse Terminate 动作,覆盖结果 无法显示。此外,中间覆盖数据转储可以 也可以从在覆盖模式下运行的任何进程请求。这样的垃圾场 可以从 Coverage 视图的工具栏触发。