[发明专利]应用程序的调试方法、调试工具及调试装置有效
申请号: | 200810178172.2 | 申请日: | 2008-11-25 |
公开(公告)号: | CN101739333A | 公开(公告)日: | 2010-06-16 |
发明(设计)人: | 肖文鹏;李欣慧;迟长燕 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 吴立明;唐文静 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 调试 方法 工具 装置 | ||
技术领域
本发明涉及调试领域,更具体地,本发明涉及用于调试软件程序 的方法和工具。
背景技术
在软件技术日益普及的今天,调试技术是必不可少的技术。目前, 程序员通常依赖于调试器来进行调试操作。调试器是这样一种应用或 系统,其读取系统表并且使得程序员可以中断(或挂起)被调试的程 序的执行以显示和检查代码,计算和编辑程序中的变量,查看寄存器, 以及查看应用程序所占用的内存空间。一般来说主要的调试操作包 括:设断点-当执行到某行代码时中断程序执行(该操作有利于检查 错误条件);指定变量-改变内部程序变量,并且查看程序如何响应; 指定观测对象和条件-当满足某个条件时(诸如变量达到某个值), 中断程序执行。
调试器提供的重要帮助在于以调试模式来运行程序。要调试的程 序在调试器形成的容器内运行。调试器用调式模式来启动程序,并且 通过与操作系统通信来执行调式操作。调式模式通常是针对程序员设 计的,并且通常包含下述特性:其将触发形成针对二进制文件的符号 信息,不使用优化,并且将基于来自操作系统的支持(诸如中断进程) 执行附加的跟踪和调式功能。
目前的调试方法通常需要停止出故障的系统,并且在调试模式下 重新启动该系统,继而执行调试操作。然而,在某些特定的实际应用 场景中,这一做法并不一定可行。
例如,在程序执行期间,可能出现各种各样的意料之外的问题。 当程序在实际的操作系统上运行时,开发人员常常会发现各种错误和 异常,而即使重启程序,这些错误和异常也不一定能够复现。这种情 况下,需要一种不需要重启应用程序,能够在任何期望的时候进入调 试模式的调试方法和调试工具。
再例如,对于很多已经投入实际运行的大型系统而言,难以避免 存在某些漏洞和缺陷。但是诸如银行软件之类的系统又不允许中断运 行,因为重启这些系统对于用户和实行条件而言是无法容忍的。目前 现场支持人员多数通过查看和分析程序日志(log)来查找问题,但 是日志中记录的信息可能非常庞大且不够直观,查看和分析日志不仅 费时,而且可能难以分析出问题所在。这种情况下,需要一种能够与 运行中的系统相连的、在不中断系统运行的情况下就能容易地执行调 试的方法和工具。
又例如,在产品上线前的压力测试时,需要在正常运行模式下运 行系统并且检查错误数据。因为压力测试时所加的负载远超过设计的 目标平均负载,这种情况下系统容易进入不确定状态。这种不确定状 态往往是很难重复的。这时,需要一种方法和工具,能够部分地进入 调试状态来检查和定位问题,并且在解决问题后,修改后的系统继续 以正常模式运行。
发明内容
本发明的目的在于提供一种新颖的调试方法、调试工具及调试 装置,其不需要重启运行中的应用程序,能够在期望的时候进入调 试模式。
根据本发明的一方面,提供了一种调试方法,包括步骤:接收调 试命令,所述调试命令至少指定运行中的应用程序中被调试的代码; 将所述调试命令解释成执行调试命令的代码;将所述执行调试命令的 代码加入运行中的应用程序中被调试的代码;以及执行带有执行调试 命令的代码的应用程序,从而进入调试模式。
根据本发明的第二方面,提供了一种调试装置,包括:命令解释 器,其用于将接收的调试命令解释成执行调试命令的代码;以及代码 交换器,其用于将所述执行调试命令的代码加入运行中的应用程序中 被调试的代码。。
根据本发明的第三方面,提供了一种调试工具,包括调试客户端 和上述的调试装置,其中所述调试客户端包括用于接收调试命令的单 元。
根据本发明的第四方面,提供了一种虚拟机,该虚拟机包括上述 的调试装置。
附图说明
通过对结合附图所示出的实施例进行详细说明,本发明的上述以 及其他特征将更加明显,本发明附图中,相同的标号表示相同或相似 的部件。在附图中,
图1示意性示出了现有技术的调试器和被调试的应用程序的关 系;
图2示意性示出了根据本发明一个实施例的调试方法的流程图;
图3示意性示出了根据本发明一个实施例的堆数据探测过程;
图4示意性示出了根据本发明一个实施例的运行时堆/栈信息探 测过程;
图5示意性示出了根据本发明一个实施例的修改运行中的应用 程序的过程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810178172.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:太空电站
- 下一篇:铝带软连接件及其焊接成型设备