在调试过程中,对于不是自己源码的需要临时增加几行代码调试,重新编译显得有点麻烦;下面介绍在eclipse调试环境下直接插入几行代码动态执行:
调试的时候,右击,菜单选择watch,在Expressions视图下选择“Add new expression”然后输入以下代码:
java.io.File file = new java.io.File("c:/temp/Wrapper3.class");
java.io.FileOutputStream fos = null;
fos = new java.io.FileOutputStream(file);
fos.write(barray.toByteArray());
fos.flush();
if(fos!=null)
fos.close();
System.out.println("ok");
代码执行是否有错误会给出提示。
在调试过程中可以直接引用上下文变量:
java.io.DataOutputStream dump = new java.io.DataOutputStream(new java.io.BufferedOutputStream(new java.io.FileOutputStream("c:/temp/Wrapper3.class")));
cf.write(dump);
dump.close();
System.out.println("ok");
这里输出文件有几个注意点:1.需要输出类名跟文件名要一致;2要输出到一个非根目录下 否则反编译时会有问题