头两天因为研究需要,对一个北大的师兄写的一个工具软件进行修改,问题是很简单的,可是我改了两天两夜都没有过效果,问题依然存在,用DBUG跟踪错误,是在一个特定的类的特定的行,但是无论怎么改都不起效果。我甚至把这个类删除了都没有效果,我开始怀疑自己对程序的理解了,是不是这个类只是一个幌子哦,真正用来实现的类在别的地方呢?但是翻遍了整个项目中的包,都找不到错误所在,起火了两次,怎么可能呢?昨天晚上5点实在撑不住了,于是一生气就把电脑关了,上床睡觉了。
今天上完两节课回来,越想越是不对,怎么可能呢,是不是真的他在学的地方实现的呢?于是我又打开电脑,我做了一个大胆的动作,把主类删除了!运行,竟然没有报错,可以正常运行,功能点都没有受到影响!
我妈呀,我从来没有见过这么牛的程序!索性把所有包都删除了。运行,天啊,还是能正常运行!是不是见鬼了!可是无神论的我是怎么也不会相信的。
后来经过一系列大胆的排除,终于找到了问题的所在,说起来还真的很隐蔽:
我是通过原软件的源代码重建的工程,是一个SWT的桌面程序,打开工程后很多错误,于是就导入他的LIB目录下的所有JAR包,选择主项目,运行,一切运行正常。于是开始修改。
没有想到作者把该程序本身的生成的JAR包也放在了LIB里面,之后所有运行的都是这个JAR里的东西,我在外面作的一切修改都就没有用了。
最让人气愤的是:跟踪错误的时候,由于JAR包里的是。CLASS文件,而对应的类名又能在我上面导入的源文件包中匹配,所有每次都在源文件中定位错误,让我已为源文件是在工作的。哎!!!
我觉得这个失误很经典,记下来,以后老了自己笑自己,呵呵。。。。
今天上完两节课回来,越想越是不对,怎么可能呢,是不是真的他在学的地方实现的呢?于是我又打开电脑,我做了一个大胆的动作,把主类删除了!运行,竟然没有报错,可以正常运行,功能点都没有受到影响!
我妈呀,我从来没有见过这么牛的程序!索性把所有包都删除了。运行,天啊,还是能正常运行!是不是见鬼了!可是无神论的我是怎么也不会相信的。
后来经过一系列大胆的排除,终于找到了问题的所在,说起来还真的很隐蔽:
我是通过原软件的源代码重建的工程,是一个SWT的桌面程序,打开工程后很多错误,于是就导入他的LIB目录下的所有JAR包,选择主项目,运行,一切运行正常。于是开始修改。
没有想到作者把该程序本身的生成的JAR包也放在了LIB里面,之后所有运行的都是这个JAR里的东西,我在外面作的一切修改都就没有用了。
最让人气愤的是:跟踪错误的时候,由于JAR包里的是。CLASS文件,而对应的类名又能在我上面导入的源文件包中匹配,所有每次都在源文件中定位错误,让我已为源文件是在工作的。哎!!!
我觉得这个失误很经典,记下来,以后老了自己笑自己,呵呵。。。。