[发明专利]多线程调试方法和装置有效

专利信息
申请号: 200810161283.2 申请日: 2008-09-24
公开(公告)号: CN101685420A 公开(公告)日: 2010-03-31
发明(设计)人: 崔云峰;李翌;程圣宇 申请(专利权)人: 中兴通讯股份有限公司
主分类号: G06F11/36 分类号: G06F11/36;G06F9/48
代理公司: 北京康信知识产权代理有限责任公司 代理人: 尚志峰;吴孟秋
地址: 518057广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 多线程 调试 方法 装置
【说明书】:

技术领域

发明涉及通信领域,并且特别地,涉及一种多线程调试方法 和装置。

背景技术

随着信息技术的不断发展、软件规模的不断扩大以及复杂度的 不断提高,一个功能往往需要由多个线程协同完成。在实际应用当 中,如何能够有效地帮助软件开发人员快速定位并消除代码中的故 障,成为调试器的重要问题。

目前,调试器提供了断点功能、程序运行流程控制功能、数据 查看功能、以及堆栈分析功能等等,通过这些功能可以有效地帮助 软件开发人员快速定位并消除代码中的故障,这些功能的操作对象 基本都是单个被调试线程或整个进程。

其中,断点功能是开发人员调试的基本手段,按照实现方式可 分为软件断点和硬件断点。其中,软件断点是指:通过在程序的代 码中插入断点指令实现,当被调试程序执行到此断点指令后即停止, 用户可以通过调试器查看当前的变量、寄存器、调用堆栈等等;硬 件断点是指:通过设置硬件调试寄存器,实现监控被调试程序读, 写或执行操作。其中,当被调试程序读,写或执行了被观测地址后 被调试程序立即停止,此时也可以查看被调试程序的详细信息。

通过断点功能可以非常灵活有效地设置调试触发点,停止并观 察触发此调试事件的任务。目前,大多数的调试器还可以在断点上 设置一些属性,例如,设置局部断点、全局断点、临时断点、条件 断点、忽略次数断点等。具体而言,局部断点是指当前断点只对某 个特定的线程有效;全局断点则对当前调试的所有线程有效;临时 断点则是遇到一次后就自动删除的断点;条件断点是遇到此断点且 满足预设的条件才能停止的断点;忽略次数断点是遇到此断点超过 预设的忽略次数后才能停止的断点,并且,用户可以通过调试器组 合上面一个或多个断点属性进行调试。

在复杂的大型软件中,各种功能大多是由多个线程协同完成的, 一些线程可以协同完成某一功能,而另一些线程协同完成另一些功 能,这些功能之间也存在某种因果关系或依赖关系。在调试其中一 个功能时需要保证此功能所依赖的其他功能保持正常运行状态,否 则就会影响当前功能的调试。

对于这种复杂功能软件,如果仍采用普通的断点及断点属性组 合的方式调试,则很难满足调试要求。因为普通的调试器所针对的 被调试对象是单个线程或者整个进程,在遇到调试事件时都是当前 线程或者整个进程停止。如果整个进程都被停止的情况下,被调试 功能所依赖的运行环境(由当前进程中其他线程组提供)就被破坏 了,导致当前调试组的功能逻辑可能就受影响;另一方面,如果只 有当前线程被停止的情况下,调试器只能获取到这个停止的线程信 息,而无法获取实现当前调试功能的所有线程的完整信息,因此不 能正确分析当前功能,并且只停止此功能关联的一个线程也可能破 坏了整个功能逻辑。

综上所述,目前调试器的调试对象都是单个线程或者整个进程, 但是调试需求却是某一个功能,而且此功能由多个线程协同完成, 这样就会因为在调试过程中某个线程或整个进程的停止而导致调试 结果不准确的问题。

发明内容

考虑到相关技术中由于调试过程中某个线程或整个进程的停止 而导致调试结果不准确的问题而做出本发明,为此,本发明的主要 目的在于提供一种多线程调试机制,以解决上述问题。

根据本发明的一个方面,提供了一种多线程调试方法。

根据本发明的多线程调试方法包括:在预确定的调试功能点包 含多个线程的情况下,将多个线程组成调试任务组,并确定调试触 发事件;在调试触发事件发生的情况下,停止调试任务组中的多个 线程并在调试功能点进行调试。

其中,将多个线程组成调试任务组的处理可以进一步包括:记 录调试任务组的任务组号、和/或记录调试任务组中每个线程的标 识。

此外,将多个线程组成调试任务组的处理进一步包括:根据调 试功能点的结构确定调试功能点的断点。

此时,停止调试任务组中的多个线程的处理具体为以下之一:

在断点为任务组类型的断点的情况下,根据断点的属性以及调 试任务组中每个线程的标识与当前运行的线程的标识确定是否需要 停止调试任务组的多个线程;

在断点为非任务组类型的断点的情况下,根据断点的属性确定 是否需要停止调试任务组的多个线程。

此外,在调试功能点进行调试的处理具体为:获取调试功能点 中全部任务的信息,并根据信息对调试功能点的运行状态进行分析。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810161283.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top