前段时间使用RadRails时候经常无故死机,RadRails使用的是Eclipse内核,我上网找了很久,但是解决方法基本都是改eclipse.ini配置,无论我怎么修改也无法解决此问题。后来用DbVisualizer(一个基于java的DB GUI)时候也出现这种异常退出问题,无异都是jvm terminated, code=xxx。我一开始认为是jvm的问题,遂分别换了1.4.2,1.5,1.6分别测试,结果问题没有解决。实在没办法,开始研究log。
下面是一个log的前半部分。
大家注意第8行的那个UNISPIM6.IME,你们猜猜那是什么东西,google一下,发现是紫光输入法......。我流汗了,随即删除了紫光输入法。然后使用Eclipse超过2小时,有异常的时候一般都10-15分钟就会退出,结果一切正常。然后我去DbVisualizer下面查看了log,结果上面的那段又重复了。所以我认为紫光输入法肯定会对java中SWT的输入造成些问题。(DbVisualizer和Eclipse都是基于SWT的)。
上面一段是我根据log确定的,因为出异常的在DbVisualizer里面是和AWT相关的类,在Eclipse里面是和SWT相关的类。
那么,我只好在这里发个广告,使用java程序就不要使用紫光输入法了(紫光请原谅我,我见异思迁了),使用google的好了。
这里我放个秘籍给大家哈,大家去下下傲游Maxthon2.0的版本,然后安装紫光输入法。Okey,点击Ctrl-F,是不是出来一个查找的小窗口,然后大家把鼠标移动到别处点下,是不是发现查找窗口不见了,收藏的那个窗口也是一样。所以,我估计可能Maxthon使用了部分SWT的技术。我在3台电脑上测试出有此问题。我的紫光版本记不得了,反正是2个月前下的,估计现在的可能已经解决了吧。
希望这篇文章能够帮助有同样问题的朋友解决疑惑,也凭此悼念我浪费的时间。