buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'皮洞), 'proguard-rules.pro'
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
}
//查看db文件端口号设置为8088
debug {
resValue("string", "PORT_NUMBER", "燃野枯8088")
}
}
dependencies{
//查看db文件脊判
debugCompile 'com.amitshekhar.android:debug-db:1.0.0'
}
https://blog.csdn.net/weixin_39886154/article/details/80894089
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 *** 作。
Debug原意是杀虫子。这里是机器调试工具。他的用处有很多
启动
Debug,它是可用于测试和调试
MS-DOS
可执行文件的程序。
Debug
[[drive:][path]
filename
[parameters]]
参数
[drive:][path]
filename
指定要测试的可执行文件的位置和名称。
parameters
指定要测试的可执行文件所需要的任何命令行信息。
++
说明
使用
Debug
命令但不指定要测试的文件
如果使用没有位置和文件名的
Debug
命令,然后键入所有的
Debug
命令以响应
Debug
提示符,连字符
(-)。
Debug
命令
以下是
Debug
命令列表:
?
显示
Debug
命令列表。
a
汇编
8086/8087/8088
记忆码。
c
比较内存的两个部分。
d
显示部分内存的内容。
e
从指定地址开始,将数据输入到内存。
f
使用指定值填充一段内存。
g
运行在内存中的可执行文件。
h
执行十六进制运算。
i
显示来自特定端口的
1
字节值。
l
将文件搭春源或磁盘扇区内容加载到内存。
m
复制内存块中的内容
/n
为
l
或
w
命令指定文件,或者指定正在测试的文件的参数。
o
向输出端口发送
1
个字节的值。
p
执行循环、重复的字符串指令、软件中断或子例程。
q
停止
Debug
会话。
r
显示或改变一个或多个寄存器。
s
在部分内存中搜索一个或多个字节值的模式。
t
执行一条指令,然后显示所有寄存器的内容、所有标志的状态和
Debug
下一步要执行的指令的解码形式。
u
反汇编字节并显示相应的原语句。
w
将被测试文件写入磁盘森巧。
xa
分配扩展内存。
xd
释放扩展内存。
xm
映射扩展内存页。
xs
显示知态扩展内存的状态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)