[发明专利]控制异步调用的返回的方法和装置有效

专利信息
申请号: 201210091156.6 申请日: 2012-03-30
公开(公告)号: CN103365707A 公开(公告)日: 2013-10-23
发明(设计)人: 王华红;贺顾一;郑超;王强;钟思奇;康涛;朱贤君 申请(专利权)人: 国际商业机器公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 北京市中咨律师事务所 11247 代理人: 周良玉;于静
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 控制 异步 调用 返回 方法 装置
【说明书】:

技术领域

发明涉及程序中的异步调用,更具体而言,涉及对异步调用进行控制的方法和装置。

背景技术

在许多程序中都会应用到异步调用。在进行异步调用时,调用方的主线程不需要等待调用函数的执行,而是继续执行接下来的代码。一旦被调用方将调用函数执行完毕,就会反过来调用原来的调用方来返回结果,这称为回调。相应地,主线程通过回调函数获得执行结果。然而,异步调用的一个问题是调用的返回时间无法预知。因此,在存在多个异步调用的情况下,相应的回调函数的执行顺序无法预先确定。这就为程序的调试和除错带来了很大的困难。

图1示出包含异步调用的程序的执行流程。在图1的例子中,主程序依次执行两个异步调用AS Call 1和AS Call 2,然后继续执行其他函数和功能,例如同步调用函数SC1,SC2等。对于这两个异步调用函数,开发人员可能预期依次获得这两个调用的返回结果,例如在SC1和SC2之间获得AS Call1的回调,在SC2之后获得AS Call2的回调。然而,取决于被调用方对AS Call 1和AS Call 2的执行情况,对应的回调函数的执行顺序有可能发生变化。例如,在特定情况下,AS Call 2的返回时间可能早于AS Call1(如图中虚线所示),这种情况下主程序的执行结果有可能不同于预期的依次返回的情况,从而发生错误。由于这样的错误仅仅在异步调用的特定返回顺序下出现,因此难以通过常规的程序调试来发现。

由于无法控制异步调用的返回时间,为了进行除错,开发人员往往需要将程序运行大量次数,以期从中再现导致错误的异步调用返回顺序。然而,这样的方式相当耗时,并且仍然无法确保除错的效果。

在另一种方案中,开发人员从程序中提取出与异步调用相关的逻辑,并对其进行测试。假定程序中有5处异步调用,其中一种特定的返回顺序会导致程序出现错误,那么开发人员需要耗费大量时间来排列所有可能的返回顺序,并从中找出导致错误的一种顺序。并且,由于各种程序框架的快速发展,从复杂的程序功能块中提取出单个逻辑也非常困难。

因此,希望能够对异步调用的返回进行控制,从而便于程序的调试和除错。

发明内容

鉴于以上提出的问题,提出本发明,旨在提供一种方案,能够对异步调用的返回进行控制。

根据本发明一个实施例,提供一种控制程序中的异步调用的返回的方法,包括:检测程序中的至少一个异步调用;响应于检测到程序中设置的断点,在所述断点处中断所述程序的执行;获取与所述至少一个异步调用相对应的至少一个回调;根据用户选择将至少一个回调分别插入到程序的指定位置;以及响应于所述至少一个回调被插入到程序中,从所述断点处继续执行所述程序。

根据本发明另一实施例,提供一种控制程序中的异步调用的返回的装置,包括:检测单元,配置为检测程序中的至少一个异步调用;中断单元,配置为响应于检测到程序中设置的断点,在所述断点处中断所述程序的执行;回调获取单元,配置为获取与所述至少一个异步调用相对应的至少一个回调;回调插入单元,配置为根据用户选择将至少一个回调分别插入到程序的指定位置;以及执行单元,配置为响应于所述至少一个回调被插入到程序中,从所述断点处继续执行所述程序。

利用本发明实施例的方法和装置,开发人员能够在程序调试阶段根据需要对异步调用的返回进行,从而更好地对程序进行测试和除错。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出包含异步调用的程序的执行流程;

图2示出了适于用来实现本发明实施方式的示例性计算系统100的框图;

图3示出根据本发明一个实施例的控制异步调用的返回的方法;以及

图4示出根据本发明一个实施例的控制异步调用返回的装置的框图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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