没有源代码利用jd-gui反编译的调试之路

上周实验室的一个去年完成的项目出bug了,负责这个项目的人有很多,但杯具的是只剩我还在实验室了。。只好我来调,但更杯具的是,竟然找不到源代码了。。汗。。
只好求助志哥,还好志哥经验丰富,推荐用jd-gui,以下是他教我的。

jd-gui的反编译效果还真不错,是我目前为止见过最好的了,能反映出所有源码的层次,而且代码基本还原了,除了原来的一些泛型显示不出来或者多次重新定义了变量外,基本没问题。

用这个软件反编译出来后,我确定问题的类,修改完成后,我新建一个同样的工程,Java Project 或者Web Project,把原来lib包里的jar导入,
然后把原来的class文件(对应无源码的那部分)用winrar压缩成一个jar,是的,确实可以压缩成一个jar包,在压缩过程中把后缀名改下就行。把这个jar包导入。

然后在刚刚建的工程里面新建一个类,把之前改好的那个类的内容copy过去,然后编译,编译完后直接把生成的对应的class文件复制到服务器上对应类的目录,然后重新运行查看效果,当然你也可以在本地重新建立服务器,在本地测。直至成功。
很有意思的是,这次工程还运行了一段R脚本,导致我还得重新调R脚本,在这次调试中,志哥给我带来了很大的积极影响,就是,脚本不过是脚本,完全可以在一个脚本解释器里面一步一步执行这些脚本,查看有哪些错误,虽然脚本的语法我不知道,但足以从这段脚本中窥得一二,而且编程语言万变不离其宗,定义的方式都那么样,完全不用担心看不懂,学了这么多编程语言,看到一段脚本,基本能知道是啥意思。一步一步执行,写了几行,自然就知道了。
最后,感谢一下志哥。
对了,他昨天又给我露了一手,调试一个python源码,一个大包,太大了,所以来了个破坏性调试,把某些代码/文件夹移走,一报错自然就知道哪个地方调用了哪个模块了,哈哈
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值