zoukankan      html  css  js  c++  java
  • eclipse如何debug调试jdk源码(任何源码)并显示局部变量

      最近要看struts2源码 仿照了一下查看jdk源码的方式

      首先你要有strtus2的jar包和源码,在struts官网上下载时,选择full版本,里面会有src也就是源码了。

      jar导入项目,保证可以引用。然后要把struts2目录下的src打包成zip。在项目上右键,build path。

    选择红框中的,然后找之前打包的src.zip,添加进来,再查看源码即可。

    ///////////////////////////////////一下为原文内容

    1如何debug调试jdk源码

      无法进入源码,大多数是line unavailable,需要设置。

      【Window】-【Preference】-【Java】-【Installed JREs】

      这里可以看到Eclipse可以使用的Java环境,默认使用的是JRE(Java Runtime Environment),是不支持调试的,需要替换成JDK(Java Development Kit)。

    【Add】-【Next】-【Add JRE】

    在【DIrectory】选择机器上安装的JDK的目录,不是JRE的目录。此时JDK的jar文件都会默认选择JDK目录下的src.zip作为source,如果没有,自行手动设置。

    然后,选择使用JDK。

    然后,在项目的【Build Path】里使用刚刚添加的JDK,去除默认的JRE引用。

    结束,现在可以在debug中调试jdk源码了。

    2.如何在debug调试时显示局部变量

      原因在于oracle提供的jre中rt.jar不带debug信息:orcale在编译src时使用了 javac -g:none,意思是不带任何调试信息,这样可以减小rt.jar的大小。若想正常调试jdk,就只能重新编译src.zip。这里介绍下编译src.zip的方法。

    1. 在eclipse中新建一个java项目“jdk”,然后在src目录上导入"Archive File",选择源码src.zip导入,导完目录结构如下(不用管编译报错):

    2. 右键项目export...,然后导出为jar包,起名为rt_debug.jar:

    3. 修改eclipse的jre设置,将rt_debug.jar添加到jre中,并移动到最前面:

    4. 最后再查看debug变量,可以看到变量值了:

  • 相关阅读:
    RPC 接口必须是业务职责
    一套高可用、易伸缩、高并发的IM群聊、单聊架构方案设计实践
    t
    hessian-serialization
    服务拆分 服务设计
    灰度架构设计方案
    有赞发号器多机房方案
    解析MySQL中存储时间日期类型的选择问题
    t
    在阿里,我如何做好技术项目管理?
  • 原文地址:https://www.cnblogs.com/GoForMyDream/p/8464914.html
Copyright © 2011-2022 走看看