用于自动化跨系统程序调试的方法和装置的制造方法

文档序号:9865386阅读:414来源:国知局
用于自动化跨系统程序调试的方法和装置的制造方法
【技术领域】
[0001] 本发明的实施例总体上涉及程序开发领域,并且特别涉及用于自动化跨系统程序 调试的方法和装置。
【背景技术】
[0002] 在程序开发过程中,程序员经常需要对所编制的程序进行调试(debug),W发现程 序源代码中的语法和/或逻辑错误。调试器(debugger)是用于执行调试的常见工具。例 女口,在集成开发环境(ID巧中通常提供专口的调试器。对于单个系统中的调试会话而言,可 W通过使用一个或多个断点化reakpoint)来完成调试过程。如已知的,断点用于使处于调 试会话中的程序停止在程序员指定的位置,W便分析程序的状态、特定变量的数值,等等。
[0003] 然而,在多系统环境中,跨系统程序调试面临诸多挑战。在送样的环境中,运行于 不同系统的任务之间往往存在协作或依赖关系。目前,无法在跨系统环境中实现自动化调 试。用户需要在不同系统上启动多个调试会话,并且W人工方式控制不同调试会话之间的 协作和通信。在此过程中,用户需要在不同系统的调试会话之间来回切换,W便定位正确的 断点。送个过程耗时且易错。而且,当用户完成一轮调试之后,难W进行问题重现。
[0004] 另外,对于支持并发任务的待调试程序而言,在相互协作的不同系统上可能同时 运行有大量任务。在传统方案中,难W从不同系统的多个任务中准确地找到正在被调试的 相互关联任务。例如,无法精确地确定在一个系统上被调试的任务在其他系统上引发了哪 些相关任务的执行。由此,不同调试会话之间的协作可能发生错误,从而导致整个调试过程 失败。

【发明内容】

[0005] 总体上,本发明的实施例提出一种用于自动化跨系统的程序调试的技术方案。
[0006] 在本发明的一个方面,提供一种用于自动化跨系统程序调试的方法。该方法包括: 确定第一系统的第一调试会话中的第一断点;确定第二系统的第二调试会话中的第二断 点,所述第二系统不同于所述第一系统;W及响应于用户在所述第一调试会话和所述第二 调试会话中执行将所述第一断点与所述第二断点相关联的调试动作,记录所述第一断点与 所述第二断点之间的关联,W用于对跨所述第一系统和所述第二系统的程序调试进行自动 化。
[0007] 在本发明的另一方面,提供一种用于自动化跨系统程序调试的装置。所述装置包 括;第一确定单元,被配置为确定第一系统的第一调试会话中的第一断点;第二确定单元, 被配置为确定第二系统的第二调试会话中的第二断点,所述第二系统不同于所述第一系 统;W及记录单元,被配置为响应于用户在所述第一调试会话和所述第二调试会话中执行 将所述第一断点与所述第二断点相关联的调试动作,记录所述第一断点与所述第二断点之 间的关联,W用于对跨所述第一系统和所述第二系统的程序调试进行自动化。
[0008] 根据本发明的实施例,可断点为基础对跨系统的人工调试进行记录,W便支 持随后的自动调试和/或问题重现。而且,与单纯基于单个系统的调试信息相比,所记录的 关于用户的跨系统调试动作的信息可被用来实现更为准确和高效的跨系统调试功能。本发 明的其他特征和优点将通过下文描述而变得容易理解。
【附图说明】
[0009] 通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述W及其 它目的、特征和优势将变得更加明显其中:
[0010] 图1示出了适于用来实现本发明实施例的示例性计算机系统/服务器的示意性框 图;
[0011] 图2示出了根据本发明实施例可实现于其中的跨系统调试环境的示意性框图;
[0012] 图3A和图3B示出了根据本发明实施例的用于自动化跨系统程序调试的方法的示 意性流程图;
[0013] 图4示出了根据本发明实施例的用于识别不同系统中的关联任务的方法的示意 性流程图;W及
[0014] 图5示出了根据本发明实施例的用于自动化跨系统程序调试的装置的示意性框 图。
[0015] 在附图中,相同或相似的标号被用来表示相同或相似的元素。
【具体实施方式】
[0016] 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可W W各种形式实现本公开而不应被送里阐述的实施方 式所限制。相反,提供送些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整地传达给本领域的技术人员。
[0017] 图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的方 框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和 使用范围带来任何限制。
[001引如图1所示,计算机系统/服务器12 W通用计算设备的形式表现。计算机系统 /服务器12的组件可W包括但不限于;一个或者多个处理器或者处理单元16,系统存储器 28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0019] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器, 外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举 例来说,送些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC) 总线,增强型ISA总线、视频电子标准协会(VESA)局域总线W及外围组件互连(PCI)总线。
[0020] 计算机系统/服务器12典型地包括多种计算机系统可读介质。送些介质可W是 任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动 的和不可移动的介质。
[0021] 系统存储器28可W包括易失性存储器形式的计算机系统可读介质,例如随机存 取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可W进一步包括其 它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34 可w用于读写不可移动的、非易失性磁介质(图1未显示,通常称为"硬盘驱动器")。尽管 图1中未示出,可W提供用于对可移动非易失性磁盘(例如"软盘")读写的磁盘驱动器, W及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。 在送些情况下,每个驱动器可W通过一个或者多个数据介质接口与总线18相连。存储器28 可W包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,送些程序模 块被配置W执行本发明各实施例的功能。
[0022] 具有一组(至少一个)程序模块42的程序/实用工具40,可W存储在例如存储 器28中,送样的程序模块42包括-但不限于-操作系统、一个或者多个应用程序、其它程 序模块W及程序数据,送些示例中的每一个或某种组合中可能包括网络环境的实现。程序 模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0023] 计算机系统/服务器12也可W与一个或多个外部设备14 (例如键盘、指向设备、 显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的 设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信 的任何设备(例如网卡,调制解调器等等)通信。送种通信可W通过输入/输出(I/O)接 口 22进行。并且,计算机系统/服务器12还可W通过网络适配器20与一个或者多个网络 (例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适 配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示 出,可W结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于;微代 码、设备驱动器、兀余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器W及数据备份存 储系统等。
[0024] 下面将详细描述本发明实施例的机制和原理。除非特别声明,在
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1