zoukankan      html  css  js  c++  java
  • 【转】如何debug没有源代码的class文件——eclipse+jad

    如何debug没有源代码的class文件——eclipse+jad

    施祖阳 http://hi.baidu.com/sylilzy
    2008-6-13 16:31:35 星期五


        elipse的调试功能想必大家都已经很熟悉了,虽然通过jdb可以达到同样的目的,但可视化的调试工具会大大提高大家的效率。通过eclipse调试一 般的应用程序或是调试基于服务器的程序都非常的方便,设置完断点后点击debug按钮就OK了。今天给大家介绍下如何通过eclipse+jad对没有源 代码的class文件进行调试.
        jad工具是一个非常优秀的java反编译工具,通过jad可将classs文件反编译,但是通过jad反编译的java文件的行位置与原class文件 对应不上,将会导致无法在eclipse中正确设置断点,通过研究,我得出了在没有源码的情况下设置断点的方法,总结后通过eclipse+jad调试没 有源码的程序主要有三步:

    1.用jad反编译class后查看源文件
    记得一定要带上-lnc参数,这样源文件中会有正确的行数作为注释显示出来。

    2.使用breakpoints的import导入修改过的断点记录文件.
    断点记录文件可通过导出后修改了再导入。如这个断点刻录文件:

    breakpoint enabled=true persistant=true registered=true
    resource path=homeAlonesrcjavacomhaajaxMMSenderTest.java
    type=1
    marker charStart=-1 lineNumber=760
    type=org.eclipse.jdt.debug.javaLineBreakpointMarker
    attrib name=org.eclipse.jdt.debug.core.typeName
       value=com.huawei.mm7.vasp.pdu.MM7SOAPEncoder
    attrib name=charEnd value=-1
    attrib name=charStart value=-1
    attrib name=org.eclipse.debug.core.enabled value=true
    attrib name=org.eclipse.jdt.debug.ui.member_start
       value=285
    attrib name=org.eclipse.debug.core.id
       value=org.eclipse.jdt.debug
    attrib name=message
       value=Line breakpointMM7SOAPEncoder [line 760] - main(String[])
    attrib name=org.eclipse.jdt.debug.core.suspendPolicy
       value=2
    attrib name=org.eclipse.jdt.debug.ui.member_end value=297
    attrib name=org.eclipse.jdt.debug.ui.JAVA_ELEMENT_HANDLE_ID
       value==homeAlonesrcjava<com.ha.ajax{MMSenderTest.java[MMSenderTest
    marker
    breakpoint

    注意修改:lineNumber属性为想要设置断点的行数,attrib name=org.eclipse.jdt.debug.core.typeName
    的value设置为想要debug的class,其它属性基本不用修改。

    2.debug
    启动debug,运行至断点处会自动suspend,可查看,修改变量的值等debug操作。

  • 相关阅读:
    怎么将java项目打包成双击就可以运行的jar包---fatjar
    hdu 2629 Identity Card (字符串解析模拟题)
    求最远点对,输出距离
    poj 2299 求逆序数
    第九周作业 实现图片压缩
    第八周作业 struts,spring,jpa整合简单测试
    第七周作业 POI操作Excel,world文档
    第七周作业 关于xml问题
    第六周作业 略谈jsp
    第六作业 持久层框架mybatis小记
  • 原文地址:https://www.cnblogs.com/sheikh/p/2869289.html
Copyright © 2011-2022 走看看