Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于安卓操作系统的一体化免源码调试方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:广州链安科技有限公司

摘要:本发明公开一种基于安卓操作系统的一体化免源码调试方法,包括以下步骤:1待调试程序的智能安装与更新;2激活调试模式;通过直接修改系统中的环境变量ro.debuggable,在系统级别把调试开关打开;3待调试程序的启动及其配置;4变量类型识别;5基于反编译的源码级调试;该方法提供了一整套的自动化调试流程,以ADB为媒介,在只有软件包而没有软件源码的情况下,全自动地实现软件的安装、激活调试模式、启动并附加到待调试程序、断点设置、断点变量识别等,并在人工调试过程中,还具有支持断点代码执行、改写变量内容等功能。

主权项:1.一种基于安卓操作系统的一体化免源码调试方法,其特征在于,包括以下步骤:1)待调试程序的智能安装与更新;计算出待调试程序的hash值,并且和系统中已有的程序的hash值作比较,当且仅当这两个hash值不相等,亦即待调试程序的内容发生改变,新的待调试程序才会取代旧有的程序,安装到目标设备上;2)激活调试模式;通过直接修改系统中的环境变量ro.debuggable,在系统级别把调试开关打开;3)待调试程序的启动及其配置;当发现调试器成功附加后,再等待数百毫秒,并假定在这段时间中与调试相关的配置已经完成,解除对程序的挂起,根据用户事先在界面中所作的设定,在这个短暂的窗口通过JDWP进行断点设置操作;4)变量类型识别;要对函数进行分块,使得每一块代码在除去抛出异常的情况下,一旦程序执行到该块,那么整个块的代码都将会被执行而没有遗漏,在划分好函数块后,还要把这些块按照执行流程的转移方向连接起来,构建起块与块之间的关系;分块完毕后,就要进行静态单赋值的处理,SSA使用下标的方式表示新变量,每当Dalvik层面上的变量被赋值,这个寄存器的下标计数器就会加一,并将当前计数器数值用于新SSA变量的下标,Dalvik字节码形式的控制流,其寄存器和函数中的变量不对等,变量和寄存器之间是一个动态的映射关系;在构建函数SSA形式的过程中,SSA引入一个名为Phi的函数,它的作用是表示从这两个不同的寄存器中作出选择,并引入一个新的SSA变量,当Phi函数充足并合理地加入到SSA图表当中,SSA的构建就完成了,给定一个函数偏移和一个寄存器,查找出此时这个寄存器的值所对应的变量类型,在调试的过程中,可以随意设置断点,并在断点触发后实时分析出各寄存器的变量类型,配合调试协议实时读取出各个寄存器的有效数值;5)基于反编译的源码级调试;配合反编译模块,可以实现基于反编译结果的源码级调试,只要有Dalvik控制流和反编译源码之间的映射关系,就可以实现源码级调试,并能在源码级调试和Dalvik指令级调试的无缝切换。

全文数据:

权利要求:

百度查询: 广州链安科技有限公司 一种基于安卓操作系统的一体化免源码调试方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。