JDB链接源码
Nov 16, 2015
IDE 的操作会有一个好处,一键集成式编程,底层什么都不必考虑,但会导致一个问题是———— 一旦离开了IDE,你会发现到处都是问题。
没有IDE的debug工具,我们进行debug的话只能利用最原始的方式JDB
。不过个人感觉,JDB
比之
GDB
还是有很大的不足之处的,最大的问题是没有缩写,每个命令得多敲好多字母。另外就是没法
上翻历史记录,如果某次你不小心打错了很长一个class的某一个字母,恭喜你,下次还得重新全部
输入。不过,到可以用来锻炼手速了。
JDB
调试命令还是比较简单的,没有javac
那么复杂。直接jdb class
文件就可以,如果class不
在当前目录下,需要指定一下-classpath
,设定class
文件的路径。
但主要是JDB
的list命令想要进行查看源码信息的时候,总会显示找不到源文件。下面分两种情况来说明下。
不包含Package
jdb
中use
命令可以指定源文件的位置。假设src/
文件夹中存放的是源码文件,class/
文件夹中存放
的是类文件,我们在class/
目录下进行jdb
的时候,可以利用use ../src
来找到源码的位置。
具体可以参考 在jdb中链接源码,@kingquake21大神讲的很详细。
包含Package信息的源码链接
当我们如果有一个java中包含package信息,假设是cn.edu.school.group.project
,而该文件放在src/
文件夹下的
话,继续用上述方法也是找不到源码的。估计jdb
查找源码的过程跟查找class
的过程是差不多的,也是把
package
中.
号转换成路径来查找,所以我们需要将src/
下的文件放到src/cn/edu/school/group/project/
中,这样
在list才能找到源码信息。
16 Nov 2015
Post by: MetaCoder