博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】如何debug没有源代码的class文件——eclipse+jad
阅读量:5023 次
发布时间:2019-06-12

本文共 1627 字,大约阅读时间需要 5 分钟。

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

施祖阳

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操作。

转载于:https://www.cnblogs.com/sheikh/archive/2013/01/21/2869289.html

你可能感兴趣的文章
web前端优化
查看>>
ssh 连接原理及ssh-keygen
查看>>
vs2013编译qt程序后中文出现乱码
查看>>
【转】IOS数据库操作SQLite3使用详解
查看>>
Android官方技术文档翻译——ApplicationId 与 PackageName
查看>>
设计网站大全
查看>>
JVM CUP占用率过高排除方法,windows环境
查看>>
【转】JAVA字符串格式化-String.format()的使用
查看>>
【转】ButterKnife基本使用--不错
查看>>
【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”...
查看>>
函数中关于const关键字使用的注意事项
查看>>
微信架构(转)
查看>>
Web项目中的路径问题
查看>>
js随机数的取整
查看>>
关于解析漏洞
查看>>
十大经典预测算法(六)---集成学习(模型融合算法)
查看>>
用php做一个简单的注册用户功能
查看>>
一款基于css3的3D图片翻页切换特效
查看>>
Feign使用Hystrix无效原因及解决方法
查看>>
Sizeof与Strlen的区别与联系
查看>>