永远别在循环里做傻事

首先,这是个程序调试的故事,且很悲催。

我无意中在循环里加入了字符串递增的语句,如str+=”xxx”。没想到这个字符串后来成长到上万字节,返回前端后怎么也显示不了,对话框打不开。因为前端的显示发在一个独立的UI线程,开始怎么也没往字符串太大上面想。我调整了各种方法后,发现了这个悲催的真相。

所以我们需要留意在循环里做的事,尤其是当循环次数未知时。

  • 不要执行“大操作”,尽量简化,提高效率
  • 留意递增的语句,当心溢出等,别像我这样悲催了。
  • 尽量不打Log,实在要打,就把Log级别放低些吧。

唉,人生总有时候在做傻事。

JPDA调试Eclipse RCP程序

当你已经有了一个打包好的Eclipse RCP程序,如何利用JPDA调试呢?其实方法和《使用JPDA进行Java程序的Debug》中说的基本一样。有几点不同。

如何设置JPDA的参数?

RCP程序在打包完成之后,会同时生成.ini文件。JPDA的参数是不能放在这个文件里的,因为这是为OSGi Runtime准备的参数。我们需要在Java命令行里做,所以要手动启动RCP程序,不能用打包好的exe文件。

其实也就是手动把Equinox Launcher运行起来,然后Eclipse IDE就可以和RCP程序连接了。

导入源码

在设置Remote Java Application时,可以直接加入Source。