Eclipse如何debug+开源代码jar+class

最近开始读源码,非常痛苦,遇到很多工具的问题,但这也是进步吧。

一、自己编写程序的Debug

此处基本可以略微,开发人员都会以debug模式启动程序,之后设置断点,进行调试模式;

二、Class文件配置源码

对于第三方包,或者jdk的jar包,当遇到问题进入到该类时,我们看到

Eclipse如何debug+开源代码jar+class

注意Attach Source按钮,如果你已经下载的jdk的源代码,便在这里设置进行关联,后续再点击时,会自动打开关联代码。

参考:eclipse对class文件进行关联

https://blog.****.net/chinasoftosg/article/details/7903065

二、直接通过class或者jar进行debug

其实进行debug跟踪时,服务器运行的代码跟我们断点看到的代码并不是同一个东西,只是编辑器与执行代码的服务进行了通讯,将数据反馈回来。

下载源码如此麻烦,我们可以用eclipse集成反编译工具,对需要查看源码和设置断点的class进行直接跟踪。

Eclipse如何debug+开源代码jar+class

从eclipse >> help >> window market

search输入"JD",找到如下插件,进行安装

Eclipse如何debug+开源代码jar+class

网络上有很多关于jadclipse配置外部jd.exe进行反编译,因为版本原因容易造成不兼容。还是推荐通过eclipse插件安装。安装按成,按照提示进行重启,后续即可看到jar或class文件的源码,进行debug。

例如本人eclipse版本

Eclipse如何debug+开源代码jar+class

按照帖子“在Eclipse中反编译Class文件完全详解”http://www.blogjava.net/bolo/archive/2008/09/06/227442.html

进行便无法成功。

三、远程debug

了解二中描述的debug原理,开发工具仅仅是通过源码与运行的代码做了映射。通过通信将运行中的参数值传送到开发端。对于运行规模较大的程序,在本地运行占用资源过多,就需要进行远程调试。

注意两点:

一是远程参数设置;

二是本地代码要与远程运行的代码完全一致,否则会产生定位不一致的问题;

后续有实战再完善该文档。