我正在尝试调试Java eclipse项目,但遇到了一些问题!
我开始使用CGLIB使用索引方法更快地进行反射调用。
例
FastClass fastClass = FastClass.create(getClass());
int index = fastClass.getIndex("methodName", new Class[] { Object.class });
fastClass.invoke(index, this, new Object[] { obj } );
现在,当我尝试将断点放入由fastreflection方法调用的类中时,这就是eclipse输出。
我尝试更改没有结果的生成行号的编译器选项。
我还上传了一个eclipse项目(使用Juno版本构建),该项目复制了该问题!!
http://www.filefactory.com/file/4zryz3gjgbyh/n/FastDebug.rar
谢谢!
最佳答案
我“解决了”(理解)问题,但是Eclipse并不是问题。当您启动时
程序的这一行:FastClass.create(ReflectionTarget.class);结束了
创建已编译类的全新版本,删除所有
来自classfile的非必需内容以使其“快速”-包括所有
行号/调试信息,这意味着无法在其中设置断点。
http://cglib.sourceforge.net/xref/net/sf/cglib/core/package-summary.html
没有javadoc,您需要阅读源代码,但是现在我知道这不是
问题,但此方法具有快速反映的功能!