`
songhongchen
  • 浏览: 121402 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

解决eclipse与myeclipse调试的时候代码不一致的问题

阅读更多
    现在开发Java大部分都用eclipse,而插件用myeclipse, eclipse的调试非常方便,但有个不足,就是调试的代码与插入断点的代码是用行号进行关联的.这点让人难以理解,所以有的时候一个项目的代码更改过后打包好放到web-inf/lib下后,调试的时候总是找不到设置断点的那行代码.为此我也郁闷了很久,不能正确的调试来我来说意味着面对错误束手无策.研究了很久,终于让我找到了解决办法.

       1.将web-inf/class这个文件夹删除掉,全部用jar包.

       2.如果有很多个工程在同一个工作空间,在调试的时候,首先找那些打包中含有.java文件的包,所以打包的时候打选中class文件.不要.java的文件.

       3.将不需要的工程全部关闭,这时调试会提示连接源代码,再将相应的工程打开进行调试.

       4.如果实在是找不到调试时位置不对的这个文件是哪个工程下的.就用右键点这个文件,选择移动---选项卡组,这个时候就能找到这个文件属于哪个工程了,把它关掉就OK了
分享到:
评论
2 楼 songhongchen 2009-03-29  
我感觉应该是引用不一致的问题.假设你两个工程A和B用另一个工程C的类,如果工程A和B都是引用的C的jar包,那么有可是A工程引用是jar包是在C工程修改前的,这样会导致代码行数显示不一致
1 楼 aimer311 2009-03-29  
关于调试有个问题让我比较郁闷。
如果有两个工程同时启动调试,两个工程有相同的java类,如果类的内容相同那还好办,如果类的内容有不相同,也就是行号对应的内容不同(出现这样的情况属于历史遗留问题),那么调试的时候没法调用到你真正想要调试的那个文件,可能是另一个工程的同名文件。只能估计一下大概执行到哪一行,通过Variables查看当前的状态。
而我们使用Open Call Hierarchy却可以调用到正确的类。不明白其中的原因

相关推荐

Global site tag (gtag.js) - Google Analytics