随笔0x01

用了整整一个蛋疼的下午加晚上来折腾一些蛋疼的BUG。
不得不承认,不懂Java的弱渣真心桑不起……

首先是Java WEB App的调试:
vi /etc/default/tomcat6,里面大概有几行这样的语句:

# To enable remote debugging uncomment the following line.
# You will then be able to use a java debugger on port 8000.

于是按照注释里的说明,解除掉下面那行参数的注释(人人居然不让发这行参数,略显诡异)。
然后打开Eclipse,修改调试配置,添加一项远程调试,默认配置,接下来就可以启动tomcat开始debug了。

有一点略感不明的就是,workplace里的Source Code是肿么与webapps里部署好的项目关联在一起的。
因为当前项目编译出的文件和正在运行的项目应该完全是两码事的说。
如果说我为本地一个毫不相关的项目连接到tomcat进行远程调试,会有怎样的效果呢?(服务器上不敢乱来啊……)
所以给我的感觉就像是在远程调试一个编译好的可执行文件,然后这个东西的整个项目包括源码调试符号神马的都在本地……
另外就是为什么要单独占用一个8000端口呢,传递调试信息吗?

其次是tomcat坑爹的安全策略。
单步调试半天,发现某个写入文件的调用抛出了IO错误异常,提示没有权限。
于是开始翻tomcat的document(正好我闲得无聊往本地装了一份),于是各种泪奔……
E文勉强能看懂,但问题是改了配置文件后重启服务还没有效果。
在重启N多遍服务无果后,终于怒了,直接改源码把文件生成到/tmp,于是世界安静了。
只是……为何总感到一股淡淡的忧桑?

接下来又发现另一处代码的正则表达式完全起到了错误的效果。
但是本渣不懂Java不会改啊!!!不懂Java的弱菜伤不起啊有木有!!!
于是直接就把问题抛出了,看哪个Catch block能接着吧。
但怕的就是万一没有匹配,直接给我异常exit了……
(PS:后来还是无节操装老外用英文发issue,让作者搞定了……)

最后,劳资要开始学Java!!!

comments powered by Disqus
Published:
2013-03-28
分类:
Tag: