Debug JDK,让变量现行

本文介绍了解决在调试JDK源码时无法查看变量值的问题。提供了两种解决方案:一是下载包含debug信息的JDK;二是自行编译JDK。并详细说明了如何配置Eclipse以使用这些debug版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天Debug代码,跟踪到jdk里源码时,只能看到变量,却无法查到变量的值。怎么办呢?

1. 下载使用带有debug信息的JDK。

下载地址:http://download.java.net/jdk6/ 。当前最新版本为Standard Edition 6u25 Binary Snapshot Releases。

http://download.java.net/jdk6/6u25/promoted/b01/index.html

我自己用的是jdk1.6.02,地址如下:

http://download.java.net/jdk6/6u27/promoted/b03/binaries/jdk-6u27-ea-bin-b03-windows-i586-debug-27_may_2011.jar


下载安装后,在eclipse添加新的JRE。

image

image

2. 自己动手重新编译JDK

上面的方法很简单,但是官网上一般只给出最新版本的Debug版,如果要Debug用某个特殊版本怎么办呢?自己编译嘛!前人也给出了很多思路。

1. Enabling debugging inside JRE classes

http://www.javalobby.org/java/forums/t103334.html

介绍了GNU utilities for Win32工具。

2. General: Recompile (Some of) The JDK to Ease Debugging

http://www.java.net/external?url=http://www.javalobby.org/java/forums/t19866.html

这篇文章用的是 bat 脚本。

3. Should Sun build rt.jar with debug information enabled?

http://www.javalobby.org/forums/thread.jspa?messageID=91825915#91825965

这篇直接给出了Ant脚本。

4. 建一个Java工程,利用Eclipse等IDE工具进行编译。

四种方法都试了一下,还是觉得写Ant脚本最简单。不管用哪种方法,打好包后可以通过 Xbootclasspath/p:<the archive you just have created> 参数来优先加载我们的rt_debug.jar。

如果要在Eclipse中调试,需要在原来的JRE上加上我们新的rt_debug.jar。

image

注意rt_debug.jar要在原来的rt.jar 之前。

image


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值