[发明专利]应用程序的调试方法、调试工具及调试装置有效
申请号: | 200810178172.2 | 申请日: | 2008-11-25 |
公开(公告)号: | CN101739333A | 公开(公告)日: | 2010-06-16 |
发明(设计)人: | 肖文鹏;李欣慧;迟长燕 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 吴立明;唐文静 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 调试 方法 工具 装置 | ||
1.一种应用程序调试方法,包括步骤:
接收调试命令,所述调试命令至少指定运行中的应用程序中被调 试的代码;
将所述调试命令解释成执行调试命令的代码;
将所述执行调试命令的代码加入运行中的应用程序中被调试的 代码;
执行带有执行调试命令的代码的应用程序,从而进入调试模式,
其中在所述调试命令的类型是监视对象时,所述方法进一步包 括:
跟踪对象生成,对产生的每个对象标记标识;
利用所述标识在堆中找到要监测对象的值和状态。
2.根据权利要求1所述的方法,其中所述将所述执行调试命令 的代码加入运行中的应用程序的步骤进一步包括:
将执行调试命令的代码插入被调试的类,得到修改的类;以及
由类装载器重新载入所述修改的类以替换被调试的类。
3.根据权利要求1所述的方法,进一步包括:
在调试模式下,修改运行中的应用程序。
4.根据权利要求1所述的方法,其中在所述调试命令的类型是 监视堆/栈时,所述方法进一步包括:
确定获取堆/栈的编码形式和深度,
根据所确定的编码形式和深度获得当前运行堆/栈的信息。
5.根据权利要求1所述的方法,进一步包括:
存储所述指定的运行中的应用程序中被调试的代码的原始版本; 以及
在调试结束后,由类装载器重新装载存储的所述指定的运行中的 应用程序中被调试的代码的原始版本并恢复运行原始的应用程序。
6.根据权利要求1所述的方法,进一步包括:
在所述包括执行调试命令的代码的应用程序代码中删除执行调 试命令的代码,获得不包括执行调试命令的代码的应用程序代码;
由类装载器重新装载所述不包括执行调试命令的代码的应用程 序代码并继续运行。
7.一种应用程序调试装置,包括:
用于接收调试命令的装置,所述调试命令至少指定运行中的应用 程序中被调试的代码;
命令解释器,其用于将接收的调试命令解释成执行调试命令的代 码;
代码交换器,其用于将所述执行调试命令的代码加入运行中的应 用程序中被调试的代码;
用于执行带有执行调试命令的代码的应用程序,从而进入调试模 式的装置;
数据探测器,在所述调试命令的类型是监视对象时,数据探测器 用于跟踪对象生成,对产生的每个对象标记标识;以及利用所述标 识在堆中找到要监测对象的值和状态。
8.根据权利要求7所述的调试装置,其中所述代码交换器进一 步将执行调试命令的代码插入被调试的类,得到修改的类;以及由 类装载器重新载入所述修改的类以替换被调试的类。
9.根据权利要求7所述的调试装置,所述代码交换器进一步用 于在调试模式下,修改运行中的应用程序。
10.根据权利要求7所述的调试装置,其中,在所述调试命令的 类型是监视堆/栈时,所述数据探测器进一步用于确定获取堆/栈的编 码形式和深度,根据所确定的编码形式和深度获得当前运行堆/栈的 信息。
11.根据权利要求7所述的调试装置,还包括:
存储库,其存储所述指定的运行中的应用程序中被调试的代码的 原始版本,
其中所述代码交换器还用于在调试结束后调用类装载器重新装 载存储的所述指定的运行中的应用程序中被调试的代码的原始版本 并恢复运行原始的应用程序。
12.根据权利要求7所述的调试装置,所述代码交换器进一步用 于在所述包括执行调试命令的代码的应用程序代码中删除执行调试 命令的代码,获得不包括执行调试命令的代码的应用程序代码,以 及调用类装载器重新装载所述不包括执行调试命令的代码的应用程 序代码并继续运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810178172.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:太空电站
- 下一篇:铝带软连接件及其焊接成型设备