程序执行装置以及其控制方法.pdf

上传人:xia****o6 文档编号:1282210 上传时间:2018-04-12 格式:PDF 页数:31 大小:644.53KB
返回 下载 相关 举报
摘要
申请专利号:

CN200980108676.X

申请日:

2009.03.04

公开号:

CN101990662A

公开日:

2011.03.23

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 11/28登记生效日:20151105变更事项:专利权人变更前权利人:松下电器产业株式会社变更后权利人:株式会社索思未来变更事项:地址变更前权利人:日本大阪府变更后权利人:日本神奈川县|||授权|||实质审查的生效IPC(主分类):G06F 11/28申请日:20090304|||公开

IPC分类号:

G06F11/28

主分类号:

G06F11/28

申请人:

松下电器产业株式会社

发明人:

泉晋司; 柴田耕作; 加藤浩一

地址:

日本大阪府

优先权:

2008.03.14 JP 2008-066593

专利代理机构:

永新专利商标代理有限公司 72002

代理人:

陈萍

PDF下载: PDF下载
内容摘要

以往,使多个调试器同步执行多个程序的情况下,需要调试器间进行特别的调解的接口。本发明通过执行具备维持调试器的程序执行状态和实际的程序执行状态互不相同的状态的步骤的控制方法,针对来自调试器的程序执行请求,根据需要保留程序的执行,从而无需调试器间的调解而实现程序的同步执行。

权利要求书

1: 一种控制方法, 用于控制程序执行装置, 所述程序执行装置包括多个调试器和程序 执行部, 所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序, 所述控制 方法的特征在于, 包括 : 保持步骤, 从所述多个调试器的每一个接受程序的执行的开始请求或停止请求, 并按 照所述多个调试器的每一个保持示出开始请求或停止请求的标志 ; 以及 程序执行控制步骤, 根据所述标志所示的所述开始请求以及所述停止请求的组合进行 控制, 使所述程序执行部开始或停止执行所述多个程序, 在所述程序执行控制步骤中, 在已使所述程序执行部停止执行所述多个程序的情况 下, 向与示出停止请求的标志对应的调试器通知程序的执行被停止。
2: 根据权利要求 1 所述的控制方法, 其特征在于, 在所述程序执行控制步骤中, 在所述组合仅由所述开始请求构成的情况下, 所述程序 执行部开始执行所有的所述多个程序。
3: 根据权利要求 2 所述的控制方法, 其特征在于, 在所述程序执行控制步骤中, 在所述组合包括所述停止请求的情况下, 所述程序执行 部停止执行所有的所述多个程序, 并仅向与该停止请求对应的调试器通知程序的执行被停 止。
4: 根据权利要求 3 所述的控制方法, 其特征在于, 在所述保持步骤中, 在所述程序执行部从正在执行的所述多个程序中的任一个程序检 测出断点的情况下, 则视为接受了该程序的执行的停止请求而保持示出来自与检测出所述 断点的程序对应的调试器的停止请求的标志。
5: 一种程序执行装置, 所述程序执行装置包括多个调试器和程序执行部, 所述程序执 行部并行执行作为所述多个调试器的调试对象的多个程序, 所述程序执行装置的特征在 于, 具备 : 保持部, 从所述多个调试器的每一个接受程序的执行的开始请求或停止请求, 并按照 所述多个调试器的每一个保持示出开始请求或停止请求的标志 ; 以及 程序执行控制部, 根据所述标志所示的所述开始请求以及所述停止请求的组合进行控 制, 使所述程序执行部开始或停止执行所述多个程序, 所述程序执行控制部, 在已使所述程序执行部停止执行所述多个程序的情况下, 向与 示出停止请求的标志对应的调试器通知程序的执行被停止。
6: 一种程序, 用于控制程序执行装置, 所述程序执行装置包括多个调试器和程序执行 部, 所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序, 其特征在于, 所 述程序使计算机执行以下步骤 : 保持步骤, 从所述多个调试器的每一个接受程序的执行的开始请求或停止请求, 并按 照所述多个调试器的每一个保持示出开始请求或停止请求的标志 ; 以及 程序执行控制步骤, 根据所述标志所示的所述开始请求以及所述停止请求的组合进行 控制, 使所述程序执行部开始或停止执行所述多个程序, 在所述程序执行控制步骤中, 在已使所述程序执行部停止执行所述多个程序的情况 下, 向与示出停止请求的标志对应的调试器通知程序的执行被停止。
7: 一种控制方法, 用于控制程序执行装置, 所述程序执行装置包括多个调试器和程序 2 执行部, 所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序, 所述控制 方法的特征在于, 包括 : 切断请求保持步骤, 从所述多个调试器分别地接受用于切断该调试器与所述程序执行 装置的连接的切断请求, 并按照该多个调试器的每一个保持示出是否进行了切断请求的标 志; 以及 执行结束控制步骤, 根据所述标志所示的所述切断请求的组合进行控制, 以使所述程 序执行装置结束工作, 在所述执行结束控制步骤中包括切断判定步骤和程序执行装置结束步骤, 在所述切断 判定步骤中, 根据所述标志判定连接到所述程序执行装置的所有的调试器是否都进行了切 断请求, 在所述程序执行装置结束步骤中, 在所述切断判定步骤判定为连接到所述程序执 行装置的所有的调试器都进行了切断请求的情况下, 使所述程序执行装置结束工作。
8: 一种控制方法, 用于控制程序执行装置, 所述程序执行装置包括多个调试器和程序 执行部, 所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序, 所述控制 方法的特征在于, 包括 : 执行标志保持步骤, 保持执行标志, 该执行标志示出所述程序执行部是否正在执行程 序; 复位接受步骤, 从连接到所述程序执行装置的调试器接受复位请求 ; 判定步骤, 判定接受的所述复位请求是否有效 ; 复位标志保持步骤, 保持复位标志, 该复位标志按照所述判定结果示出所述复位请求 是否有效 ; 以及 复位步骤, 根据所述复位标志和所述执行标志, 使所述程序执行装置复位。
9: 根据权利要求 8 所述的控制方法, 其特征在于, 所述控制方法还包括通知步骤, 在所述判定步骤判定所述复位请求为无效的情况下, 向与所述复位请求对应的所述调试器通知所述复位请求已变为无效。
10: 根据权利要求 8 所述的控制方法, 其特征在于, 在所述判定步骤中, 从连接到所述程序执行装置的调试器接受了复位请求的情况下, 不管所述执行标志的值如何, 都将该复位请求判定为有效。
11: 根据权利要求 8 所述的控制方法, 其特征在于, 所述控制方法还包括资源复位步骤, 根据所述复位标志和所述执行标志, 使程序执行 装置的调试资源复位, 在所述资源复位步骤中, 在所述复位标志示出所述复位请求为无效, 且所述执行标志 示出所述程序执行部正在执行程序的情况下, 使所述程序执行装置的调试资源复位。

说明书


程序执行装置以及其控制方法

    技术领域 本发明涉及程序执行装置以及其控制方法, 尤其涉及由多个调试器 (debugger) 控制程序执行装置而不出现矛盾的程序执行装置以及其控制方法。
     背景技术 近些年, 有这样的程序执行装置, 即其具有能够同时执行在单一的或多个处理器 上工作的多个程序的模拟器, 或安装有多个处理器的评估板等。这些程序执行装置对于程 序的开发以及调试有用。
     尤其是通过将多个调试器连接到这些程序执行装置来同时进行多个程序的调试, 从而容易地发现问题。 此时, 原则上, 由程序执行装置执行的程序和以该程序为调试对象的 调试器一对一地对应。
     能够并行执行多个程序且与多个调试器连接的程序执行装置, 在从调试器接受了 执行请求的情况下, 开始执行与进行了执行请求的调试器对应的程序。
     在此, 该程序执行装置能够并行执行多个程序, 因此需要使由各个调试器进行调 试的多个程序同步以便执行。
     因此, 提出了这样的多计算机调试器系统 (multicomputer debuggersystem), 即 通过在调试器间设置通信接口来使调试器的执行请求的定时一致, 从而实现多个程序的同 步执行 ( 例如, 专利文献 1)。
     图 14 是示出多计算机调试器系统的构成的框图。
     图 14 所示的多计算机调试器系统具备 : 程序执行装置 61, 能够并行执行多个程 序; 调试器 11 以及 12, 被连接到程序执行装置 61 ; 多计算机调试器 73, 是调试器间通信接 口。
     并且, 程序执行装置 61 具备 : 程序执行部 62, 执行调试器 11 作为调试对象的程 序; 程序执行部 63, 执行调试器 12 作为调试对象的程序。
     下述专利文献 1 所公开的多计算机调试器系统中, 为了使调试器 11 以及调试器 12 的程序执行请求同步, 利用作为调试器间通信接口的多计算机调试器 73。
     接着, 以多计算机调试器系统中的作为典型的工作的 “停止” 、 “中断” 为例进行说 明。
     ( 停止工作 )
     首先, 程序执行装置 61 正在并行执行多个程序的情况下, 被连接到程序执行装置 61 的调试器 11 以及调试器 12 中的、 例如 1 个调试器 11 进行停止请求。
     此时, 程序执行装置 61 仅停止与调试器 11 对应的程序的执行。也就是说, 程序执 行装置 61 停止程序执行部 62, 而继续其他的程序的执行, 在此继续与调试器 12 对应的程序 的执行。或者, 程序执行装置 61 停止程序执行部 62, 并停止所有的程序的执行 ( 在此停止 与调试器 12 对应的程序的执行 ), 所有的调试器 ( 调试器 11 以及调试器 12) 转入停止状 态。
     ( 中断工作 )
     并且, 在程序执行装置 61 并行执行多个程序的情况下, 在程序执行装置 61 检测断 点时, 与上述的停止同样地, 仅停止与检测出断点的程序对应的程序的执行。此时, 程序执 行装置 61 继续未检测出断点的其他程序的执行。或者, 程序执行装置 61 停止所有的程序 的执行, 所有的调试器 ( 调试器 11 以及调试器 12) 转入停止状态。
     专利文献 1 : ( 日本 ) 特开平 8-171498 号公报
     然而, 上述以往的技术存在以下课题。
     程序执行装置 61 中, 为了同步执行多个程序, 在程序执行装置 61 中设置调试器间 通信接口 ( 多计算机调试器 73)。 但是, 要在程序执行装置 61 中设置通信接口, 则从通信接 口的规格策定到安装、 维护等需要工时。而且, 每增加与该通信接口对应的调试器的种类, 则工时就会增加。
     并且, 程序执行装置 61 能够并行执行多个程序。但是, 例如因来自 1 个调试器 11 的停止请求而仅停止正在执行的多个程序中的与调试器 11 对应的 1 个程序, 而继续其他 的程序的执行的情况下, 则存储器或变量的值会被改写而妨碍调试。并且, 因来自 1 个调 试器, 例如来自 1 个调试器 11 的停止请求而停止所有的正在执行的程序的情况下, 未进行 停止请求的调试器 12 也转入停止状态。为此, 对于调试器 12 出现原本不必要的调试访问 (debug access), 而不能迅速地进行所需要的调试工作。
     而且, 有关因断点而导致的停止, 存在与因停止请求而导致停止的情况同样的问 题。 也就是说, 仅使检测出断点的程序停止的情况下, 其他的程序的执行会继续而会妨碍调 试。 并且, 因检测出断点而使所有的程序的执行停止的情况下, 所有的调试器转入停止状态 而出现不必要的调试访问。
     并且, 有关结束处理, 要判断多个程序是否都结束则需要设置通信接口, 需要安 装、 维护等工时。
     并且, 有关调试器的连接, 如果在正在执行程序时连接调试器, 则因为调试器的复 位处理, 而使存储器或变量的值被改写而妨碍调试。 发明内容
     本发明鉴于上述课题, 目的在于提供一种程序执行装置以及其控制方法, 其能够 不在调试器间设置通信接口而同步执行且抑制调试访问。
     为了解决上述以往的课题, 本发明的控制方法, 用于控制程序执行装置, 所述程序 执行装置包括多个调试器和程序执行部, 所述程序执行部并行执行作为所述多个调试器的 调试对象的多个程序, 所述控制方法, 包括 : 保持步骤, 从所述多个调试器的每一个接受程 序的执行的开始请求或停止请求, 并按照所述多个调试器的每一个保持示出开始请求或停 止请求的标志 ; 以及程序执行控制步骤, 根据所述标志所示的所述开始请求以及所述停止 请求的组合进行控制, 使所述程序执行部开始或停止执行所述多个程序, 在所述程序执行 控制步骤中, 在已使所述程序执行部停止执行所述多个程序的情况下, 向与示出停止请求 的标志对应的调试器通知程序的执行被停止。
     根据此构成, 能够不在调试器间设置通信接口, 而根据标志所示的请求的组合, 无 需调试器彼此的连携 ( 連携 ) 而同步执行程序或同步停止程序。而且, 在同步停止程序的情况下, 能够仅向进行了程序的执行的停止请求的调试器通知被停止这一事宜, 因此能够 抑制来自调试器的不必要的调试访问。
     在此, 也可以是, 在所述程序执行控制步骤中, 在所述组合仅由所述开始请求构成 的情况下, 所述程序执行部开始执行所有的所述多个程序。
     根据此构成, 即使程序执行装置接受了来自个别的调试器的执行请求, 也保留程 序的执行, 直到接受来自所有的调试器的执行请求为止。 据此, 能够在程序执行装置一侧使 程序的执行同步, 能够同步执行与每个调试器对应的程序而不需要调试器间进行通信。
     并且, 也可以是, 在所述程序执行控制步骤中, 在所述组合包括所述停止请求的情 况下, 所述程序执行部停止执行所有的所述多个程序, 并仅向与该停止请求对应的调试器 通知程序的执行被停止。
     根据此构成, 因为不向进行了停止请求的调试器以外的调试器进行停止的通知, 因此未进行停止请求的调试器不转入停止状态。为此, 能够防止出现未进行停止请求的调 试器的不必要的调试访问。
     并且, 也可以是, 在所述保持步骤中, 在所述程序执行部从正在执行的所述多个程 序中的任一个程序检测出断点的情况下, 则视为接受了该程序的执行的停止请求而保持示 出来自与检测出所述断点的程序对应的调试器的停止请求的标志。 根据此构成, 与检测出断点的程序对应的调试器以外的调试器不会从程序执行装 置接收停止通知, 因此不会转入停止状态。 据此, 能够防止出现来自与检测出断点的程序无 关的调试器的不必要的调试访问。
     并且, 本发明的控制方法, 用于控制程序执行装置, 所述程序执行装置包括多个调 试器和程序执行部, 所述程序执行部并行执行作为所述多个调试器的调试对象的多个程 序, 所述控制方法, 包括 : 切断请求保持步骤, 从所述多个调试器分别地接受用于切断该调 试器与所述程序执行装置的连接的切断请求, 并按照该多个调试器的每一个保持示出是否 进行了切断请求的标志 ; 以及执行结束控制步骤, 根据所述标志所示的所述切断请求的组 合进行控制, 以使所述程序执行装置结束工作, 在所述执行结束控制步骤中包括切断判定 步骤和程序执行装置结束步骤, 在所述切断判定步骤中, 根据所述标志判定连接到所述程 序执行装置的所有的调试器是否都进行了切断请求, 在所述程序执行装置结束步骤中, 在 所述切断判定步骤判定为连接到所述程序执行装置的所有的调试器都进行了切断请求的 情况下, 使所述程序执行装置结束工作。
     根据此构成, 能够不在调试器间设置通信接口, 而根据所述切断判定步骤来使程 序执行装置结束。
     并且, 本发明的控制方法, 用于控制程序执行装置, 所述程序执行装置包括多个调 试器和程序执行部, 所述程序执行部并行执行作为所述多个调试器的调试对象的多个程 序, 所述控制方法, 包括 : 执行标志保持步骤, 保持执行标志, 该执行标志示出所述程序执行 部是否正在执行程序 ; 复位接受步骤, 从连接到所述程序执行装置的调试器接受复位请求 ; 判定步骤, 判定接受的所述复位请求是否有效 ; 复位标志保持步骤, 保持复位标志, 该复位 标志按照所述判定结果示出所述复位请求是否有效 ; 以及复位步骤, 根据所述复位标志和 所述执行标志, 使所述程序执行装置复位。
     根据此构成, 能够不在调试器间设置通信接口, 而根据所述调试器判定步骤来控
     制复位处理, 不影响正在执行的程序而进行调试。
     在此, 也可以是, 所述控制方法还包括通知步骤, 在所述判定步骤判定所述复位请 求为无效的情况下, 向与所述复位请求对应的所述调试器通知所述复位请求已变为无效。
     根据此构成, 通过通知复位处理已变为无效这一事宜, 能够使开发者认识到复位 处理已为无效
     在此, 也可以是, 在所述判定步骤中, 从连接到所述程序执行装置的调试器接受了 复位请求的情况下, 不管所述执行标志的值如何, 都将该复位请求判定为有效。
     根据此构成, 能够在开发者所期望的定时强制进行复位。
     在此, 也可以是, 所述控制方法还包括资源复位步骤, 根据所述复位标志和所述执 行标志, 使程序执行装置的调试资源复位, 在所述资源复位步骤中, 在所述复位标志示出所 述复位请求为无效, 且所述执行标志示出所述程序执行部正在执行程序的情况下, 使所述 程序执行装置的调试资源复位。
     根据此构成, 通过连接调试器时仅使调试资源初始化, 从而防止在调试资源非正 常的情况下进行处理。
     并且, 本发明的程序执行装置包括多个调试器和程序执行部, 所述程序执行部并 行执行作为所述多个调试器的调试对象的多个程序, 所述程序执行装置, 具备 : 保持部, 从 所述多个调试器的每一个接受程序的执行的开始请求或停止请求, 并按照所述多个调试器 的每一个保持示出开始请求或停止请求的标志 ; 以及程序执行控制部, 根据所述标志所示 的所述开始请求以及所述停止请求的组合进行控制, 使所述程序执行部开始或停止执行所 述多个程序, 所述程序执行控制部, 在已使所述程序执行部停止执行所述多个程序的情况 下, 向与示出停止请求的标志对应的调试器通知程序的执行被停止。 另外, 本发明不仅能够作为装置来实现, 也能够作为具有构成这样的装置的处理 单元的集成电路来实现, 或以构成该装置的处理单元作为步骤的方法来实现, 或作为使计 算机执行这些步骤的程序来实现, 或作为表示该程序的信息、 数据或信号来实现等。
     根据本发明, 能够实现能够不在调试器间设置通信接口而同步执行且抑制调试访 问的程序执行装置以及其控制方法。
     并且, 通过本发明的程序执行装置以及其控制方法, 不仅能够不在调试器间设置 通信接口而实现同步执行, 而且能够在同步停止、 同步中断程序时, 仅使必要的调试器转入 停止状态, 因此不出现不必要的调试访问而能够迅速地进行调试工作。
     附图说明
     图 1 是示出本发明的实施例的程序执行装置的外观的图。
     图 2 是示出实施例 1 的模拟器以及连接到该模拟器的调试器的构成的框图。
     图 3 是示出实施例 1 的程序执行再次开始判定步骤 S1 的处理的流程图。
     图 4 是示出实施例 1 的程序停止步骤 S2 的处理的流程图。
     图 5 是示出实施例 1 的中断步骤 S3 的处理的流程图。
     图 6 是示出实施例 2 的模拟器以及连接到该模拟器的调试器的构成的框图。
     图 7 是示出实施例 2 的程序执行结束判定步骤 S4 的处理的流程图。
     图 8 是示出实施例 3 的模拟器以及连接到该模拟器的调试器的构成的框图。图 9 是示出实施例 3 的复位处理判定步骤 S5 的处理的流程图。 图 10 是示出实施例 3 的复位处理判定步骤 S6 的处理的流程图。 图 11 是示出实施例 3 的复位处理判定步骤 S7 的处理的流程图。 图 12 是示出实施例 3 的复位处理判定步骤 S8 的处理的流程图。 图 13 是示出本发明的实施例的模拟器以及连接到该模拟器的调试器的构成的框 图 14 是示出多计算机调试器系统的构成的框图。 符号说明 1、 61 程序执行装置 1a 主机装置 1b 显示装置 1c 输入装置 2 程序执行装置控制部 3、 62、 63 程序执行部 10 模拟器 11、 12 调试器 13、 14 执行请求标志 21、 22 连接请求标志 31、 32 复位标志 33 程序执行标志 73 多计算机调试器图。
     具体实施方式
     以下参照附图说明用于实施本发明的最优方式。
     ( 实施例 1)
     图 1 是示出本发明的实施例的程序执行装置 1 的外观的图。程序执行装置 1 具备 主机装置 1a、 显示装置 1b 以及输入装置 1c。 程序执行装置 1 模拟单一的或多个处理器。 并 且, 程序执行装置 1 是数据处理装置, 执行称为模拟器的应用。模拟器能够同时执行在被模 拟的处理器上工作的多个程序。 在此, 模拟器是指, 通常, 实际上很难进行实验的情况下, 制 成其虚拟模型并进行模拟实验的硬件或软件。
     另外, 作为本发明的实施例之一, 以下将程序执行装置 1 作为模拟器 10 来进行说 明, 但是即使程序执行装置 1 是安装了处理器的评估板, 本发明的实施以及效果也不会变。
     图 2 是示出实施例 1 的模拟器 10 以及连接到该模拟器的调试器的构成的框图。
     模拟器 10 具备程序执行装置控制部 2 和程序执行部 3, 并与调试器 11 和调试器 12 连接。
     程序执行装置控制部 2 具备 : 执行请求标志 13, 保持来自调试器 11 的执行请求 ; 执行请求标志 14, 保持来自调试器 12 的执行请求。
     另外, 为了简便, 作为本发明的实施例, 以连接 2 个调试器的构成进行说明, 但是 只要是 2 个以上, 连接几个调试器都可以。此时, 程序执行装置控制部 2 保持相当于连接到模拟器 10 的调试器的数量的数量的执行请求标志, 各个执行请求标志保持来自对应的调 试器的执行请求。 为此, 如果有 2 个以上的调试器连接到模拟器 10, 就能够以与本发明所公 开的内容同样的方法来实现同样的效果。
     执行请求标志 13 保持来自调试器 11 的执行请求。在此, 作为初始值, 执行请求标 志 13 被设定为 0。接受来自调试器 11 的执行请求, 执行请求标志 13 被设定为 1, 从而保持 来自调试器 11 的执行请求。
     并且, 由程序执行装置控制部 2 来变更执行请求标志 13 的设定值。另外, 执行请 求标志 14 与执行请求标志 13 同样, 因此省略其说明。
     程序执行装置控制部 2, 根据执行请求标志 13 以及执行请求标志 14 所示的所述开 始请求以及停止请求的组合, 控制程序执行部 3 的执行的开始或停止。
     具体而言, 程序执行装置控制部 2, 从连接到模拟器 10 的调试器 11 或调试器 12 接 受程序的执行请求或停止请求, 判定是否需要再次开始或停止程序的执行。 并且, 程序执行 装置控制部 2, 通过从正在执行的程序中检测断点来判定是否需要停止程序。
     并且, 程序执行装置控制部 2, 按照是否需要再次开始程序的执行或停止程序的执 行的判定结果, 指示程序执行部 3 再次开始程序的执行或停止程序的执行。
     并且, 程序执行装置控制部 2, 仅向与指示了程序执行部 3 停止程序的执行的程序 对应的调试器, 进行停止通知。
     在此, 程序执行装置控制部 2 利用执行请求标志 13 以及执行请求标志 14 来判定 再次开始或停止程序的执行。
     具体而言, 程序执行装置控制部 2 通过参照执行请求标志 13 以及执行请求标志 14 被设定的值, 判定再次开始程序的执行或停止程序的执行。 例如, 程序执行装置控制部 2, 如 果确认执行请求标志 13 以及执行请求标志 14 都被设定为 1, 则判定为程序执行部 3 的程序 为能够开始执行的状态, 如果程序执行部 3 未在执行程序, 则再次开始程序的执行。
     在此, 例如, 程序执行部 3 停止程序的执行的情况下, 且程序执行装置控制部 2 确 认执行请求标志 13 被设定为 1 而执行请求标志 14 被设定为 0 的情况下, 程序执行装置控 制部 2 保留使程序的执行开始的控制, 直到执行请求标志 14 被设定为 1 为止。也就是说, 程序执行装置控制部 2 使程序执行部 3 的程序的执行停止, 直到执行请求标志 14 被设定为 1 为止。
     并且, 例如, 程序执行部 3 正在执行程序的情况下, 且程序执行装置控制部 2 确认 执行请求标志 13 或执行请求标志 14 被设定为 0 的情况下, 程序执行装置控制部 2 判定为 程序执行部 3 处于不能继续程序的执行的状态, 如果程序执行部 3 正在执行程序则停止所 有的程序的执行。
     程序执行部 3 能够并行执行或停止与多个调试器 ( 调试器 11 以及调试器 12) 的 每一个对应的程序。
     并且, 程序执行部 3, 根据程序执行装置控制部 2 的指示, 执行或停止程序。
     接着, 以作为模拟器 10 的典型的工作的 “再次开始” 、 “停止” 以及 “中断” 为例, 按 照调试器操作者的操作流程进行说明。
     在此, 调试器操作者将多个调试器 ( 调试器 11 以及调试器 12) 连接到模拟器 10, 并利用模拟器 10 同时调试多个程序。首先, 调试器操作者将调试器 11 以及调试器 12 连接到模拟器 10。
     然后, 调试器操作者将与每个调试器 ( 调试器 11 以及调试器 12) 分别对应的程序 加载到程序执行部 3。
     调试器操作者, 在模拟器 10 中以调试器 11 以及调试器 12 开始执行多个程序的情 况下, 程序执行装置控制部 2 从调试器 11 或调试器 12 接受程序的执行请求。此时, 程序执 行装置控制部 2 接受程序的执行请求, 实施执行再次开始判定步骤 S1。
     并且, 调试器操作者, 为了在模拟器 10 调试多个程序而停止单一的或多个程序的 执行的情况下, 程序执行装置控制部 2 实施程序执行停止步骤 S2。
     并且, 调试器操作者, 为了调试多个程序而设置断点, 程序执行部 3 在执行程序时 检测出断点的情况下, 程序执行装置控制部 2 实施中断步骤 S3。
     其次, 说明在程序执行装置控制部 2 实施的程序执行再次开始判定步骤 S1、 程序 执行停止步骤 S2 以及中断步骤 S3。
     ( 程序执行再次开始判定步骤 )
     首先, 说明程序执行再次开始判定步骤 S1。 程序执行再次开始判定步骤 S1 是本发 明的实施例 1 中具有特征的程序执行再次开始判定方法。 图 3 是示出实施例 1 的程序执行再次开始判定步骤 S1 的处理的流程图。
     模拟器 10 中的程序执行装置控制部 2, 从调试器 11 或调试器 12 接受程序的执行 请求, 开始程序执行再次开始判定步骤 S1。
     首先, 程序执行装置控制部 2, 记忆从连接到模拟器 10 的调试器 11 或调试器 12 接 受了执行请求这一事宜 (S101 : 执行请求接受步骤 )。
     在此, 程序执行装置控制部 2, 利用执行请求标志 13 或执行请求标志 14, 以明确是 从调试器 11 或调试器 12 中的哪一个调试器接受了执行请求。例如, 程序执行装置控制部 2, 在从调试器 11 接受了执行请求的情况下, 将执行请求标志 13 设定为 1, 在从调试器 12 接 受了执行请求的情况下, 将执行请求标志 14 设定为 1。在此, 执行请求标志 13 和执行请求 标志 14 的初始值为 0。
     然后, 程序执行装置控制部 2, 判定是否从所有的调试器 ( 调试器 11 以及调试器 12) 接受了执行请求 (S102 : 执行请求受理判定步骤 )。
     也就是说, 程序执行装置控制部 2 确认是否执行请求标志 13 和执行请求标志 14 这两者都被设定了 1。
     程序执行装置控制部 2, 在 S102 判定为从所有的调试器 ( 调试器 11 以及调试 器 12) 接受了执行请求的情况下, 程序执行装置控制部 2 指示程序执行部 3 开始执行程序 (S103 : 程序执行再次开始步骤 )。
     也就是说, 程序执行装置控制部 2, 在确认为执行请求标志 13 和执行请求标志 14 这两者都被设定了 1 的情况下, 指示程序执行部 3 开始执行程序。
     并且, 结束程序执行再次开始判定步骤 S1。
     另外, 程序执行装置控制部 2, 在 S102 判定为未从所有的调试器 ( 调试器 11 以及 调试器 12) 接受执行请求的情况下, 对程序执行部 3 不进行任何工作而结束程序执行再次 开始判定步骤 S1。
     程序执行装置控制部 2, 如上所述, 实施程序执行再次开始判定步骤 S1。
     另外, 在上述中虽未言及, 但是调试器 ( 调试器 11 或调试器 12) 向程序执行装置 1 进行了执行请求的情况下, 程序执行装置 1 不论实际上是否执行程序, 都返回接受了执行 请求这一应答, 因此调试器 ( 调试器 11 或调试器 12) 转入程序执行状态。
     ( 程序停止步骤 )
     其次, 说明程序执行停止步骤 S2。 程序执行停止步骤 S2 是本发明的实施例 1 中具 有特征的程序执行停止方法。
     图 4 是示出实施例 1 的程序执行停止步骤 S2 的处理的流程图。
     模拟器 10 中的程序执行装置控制部 2 接受来自调试器 11 或调试器 12 的程序的 执行的停止请求, 开始程序执行停止步骤 S2。
     首先, 程序执行装置控制部 2 识别是否从连接到模拟器 10 的调试器 11 或调试器 12 接受了程序的执行的停止请求。
     在此, 程序执行装置控制部 2, 利用执行请求标志 13 或执行请求标志 14 来识别是 从调试器 11 或调试器 12 中的哪一个调试器接受了执行的停止请求。例如, 程序执行装置 控制部 2, 在从调试器 11 接受了执行的停止请求的情况下, 将执行请求标志 13 清 0 设定, 在 从调试器 12 接受了执行的停止请求的情况下, 将执行请求标志 14 清 0 设定。在此, 执行请 求标志 13 和执行请求标志 14 的初始值为 0。如在图 3 中的说明, 程序执行部 3 在执行与调 试器 11 以及调试器 12 对应的程序的情况下, 执行请求标志 13 和执行请求标志 14 被设定 为 1。 然后, 程序执行装置控制部 2 使来自连接到模拟器 10 的调试器的执行请求无效 (S201 : 执行请求无效化步骤 )。
     具体而言, 程序执行装置控制部 2, 以执行请求标志 13 和执行请求标志 14 来识别 是从调试器 11 或调试器 12 中的哪一个调试器接受了停止请求, 并无效化发送了停止请求 的调试器的执行请求。 也就是说, 程序执行装置控制部 2, 在从调试器 11 接受了停止请求的 情况下, 将与调试器 11 对应的执行请求标志 13 清 0, 并确认执行请求标志 13 为 0, 并无效 化发送了停止请求的调试器 11 的执行请求。并且, 执行请求被无效化的调试器 11, 即使之 后向程序执行装置控制部 2 发送执行请求, 也不会反映到执行请求标志 13。
     然后, 程序执行装置控制部 2 指示程序执行部 3 停止执行所有的程序 (S202 : 程序 执行停止步骤 )。程序执行部 3 接受来自程序执行装置控制部 2 的停止所有的程序的执行 的指示, 停止正在执行的所有的程序。
     然后, 程序执行装置控制部 2, 仅向进行了停止请求的调试器通知已停止程序的执 行这一事宜 (S203 : 程序停止通知步骤 )。
     然后, 结束程序执行停止步骤 S2。
     程序执行装置控制部 2, 如上所述, 实施程序执行停止步骤 S2。
     因为程序执行装置控制部 2 在步骤 S203 仅向进行了停止请求的调试器通知程序 执行的停止, 因此进行了停止请求的调试器以外的调试器维持执行状态。 为此, 不会出现来 自未进行停止请求的调试器的不必要的存储器参照等。据此, 程序执行装置 1 能够削减调 试器 ( 调试器 11 或调试器 12) 与程序执行装置 1 之间的通信, 能够迅速地处理来自进行了 停止请求的调试器 ( 调试器 11 或调试器 12) 的请求。
     而且, 在调试器操作者进行了停止操作后, 来自调试器 11 或调试器 12 的请求会在
     程序执行装置 1 迅速地被处理, 因此使调试器的操作者的作业高效化。
     ( 中断步骤 )
     接着, 说明中断步骤 S3。 中断步骤 S3 是本发明的实施例中的具有特征的程序执行 停止方法。
     图 5 是示出实施例 1 的中断步骤 S3 的处理的流程图。
     模拟器 10 中的程序执行装置控制部 2, 从正在执行的程序检测出断点的情况下, 开始中断步骤 S3。
     首先, 程序执行装置控制部 2 识别是从与连接到模拟器 10 的调试器 11 或调试器 12 中的哪一个对应的程序检测出断点的。
     在此, 程序执行装置控制部 2, 利用执行请求标志 13 或执行请求标志 14, 来识别与 检测出断点的程序对应的调试器是调试器 11 或调试器 12 中的哪一个调试器。例如, 程序 执行装置控制部 2, 在与检测出断点的程序对应的调试器是调试器 11 的情况下, 将执行请 求标志 13 清 0 设定, 在与检测出断点的程序对应的调试器是调试器 12 的情况下, 将执行请 求标志 14 清 0 设定。
     然后, 程序执行装置控制部 2, 与图 4 同样地, 使来自与检测出断点的程序对应的 调试器的执行请求无效 (S301 : 执行请求无效化步骤 )。 例如, 程序执行装置控制部 2, 在与检测出断点的程序对应的调试器是调试器 11 的情况下, 将与调试器 11 对应的执行请求标志 13 清 0。并且, 程序执行装置控制部 2 确认 执行请求标志 13 为 0, 并无效化来自调试器 11 的执行请求。
     并且, 例如, 程序执行装置控制部 2, 在与检测出断点的程序对应的调试器为调试 器 12 的情况下, 将与调试器 12 对应的执行请求标志 14 清 0。并且, 程序执行装置控制部 2, 确认执行请求标志 14 为 0, 并无效化来自调试器 12 的执行请求。
     然后, 程序执行装置控制部 2, 指示程序执行部 3 停止执行所有的程序 (S302 : 程序 执行停止步骤 )。程序执行部 3, 接受来自程序执行装置控制部 2 的所有的程序的执行的停 止指示, 停止正在执行的所有的程序。
     然后, 程序执行装置控制部 2, 仅向与检测出断点的程序对应的调试器通知已停止 程序的执行这一事宜 (S303 : 停止通知步骤 )。
     并且, 结束中断步骤 S3。
     程序执行装置控制部 2, 如上所述, 实施中断步骤 S3。
     程序执行装置控制部 2, 因为在步骤 S303 仅向与检测出断点的程序对应的调试 器通知程序执行的停止, 因此与检测出断点的程序对应的调试器以外的调试器维持执行状 态。因此, 不出现来自在断点未停止的调试器的不必要的存储器参照等。据此, 程序执行装 置 1, 能够削减调试器 ( 调试器 11 或调试器 12) 与程序执行装置 1 之间的通信, 能够迅速地 处理来自与检测出断点的程序对应的调试器 ( 调试器 11 或调试器 12) 的请求。
     而且, 程序执行装置 1( 模拟器 10) 在断点停止后, 如果在程序执行装置 1 迅速地 处理来自调试器 11 或调试器 12 的请求, 则会使调试器的操作者的作业高效化。
     如上所述, 实施例 1 所涉及的程序执行装置以及其控制方法, 无需调试器彼此的 连携就能够同步执行多个程序, 停止时也不会出现不必要的调试访问。
     并且, 根据实施例 1 所涉及的程序执行装置以及其控制方法, 能够不论调试器的
     状态和程序的执行状态是否对应而控制程序执行装置。
     并且, 根据实施例 1 所涉及的程序执行装置以及其控制方法, 程序执行装置即使 接受了个别的调试器的执行请求, 也保留程序的执行, 直到从所有的调试器接受执行请求 为止, 从而能够在程序执行装置一侧使程序的执行同步, 而不需调试器之间的通信就能够 同步执行与每个调试器对应的程序。
     并且, 根据实施例 1 所涉及的程序执行装置以及其控制方法, 对进行了停止请求 的调试器以外的调试器不进行停止通知, 以使未进行停止请求的调试器不转入停止状态, 从而能够防止出现未进行停止请求的调试器的不必要的调试访问。
     并且, 根据实施例 1 所涉及的程序执行装置以及其控制方法, 与检测出断点的程 序对应的调试器之外的调试器不会从程序执行装置接收停止通知, 因此不会转入停止状 态。据此, 能够防止出现来自与检测出断点的程序无关的调试器的不必要的调试访问。
     据此, 能够实现在调试器间不设置通信接口就能够同步执行且抑制调试访问的程 序执行装置以及其控制方法。
     而且, 根据实施例 1 的程序执行装置以及其控制方法, 不仅能够在调试器间不设 置通信接口而实现同步执行, 而且也能够在使程序同步停止、 同步中断时仅使必要的调试 器转入停止状态, 因此能够防止出现不必要的调试访问而迅速地进行调试作业。
     ( 实施例 2)
     在上述实施例 1 中, 说明了在调试器间不设置通信接口, 而根据标志所示的请求 的组合, 无需调试器彼此的连携而控制程序执行装置的方式的一个例子, 但是并不限定于 此。在实施例 2 中, 作为对程序执行装置进行控制的方式, 说明与实施例 1 不同的方式的 1 个例子。
     图 6 是示出实施例 2 中的模拟器 10 以及连接到该模拟器 10 的调试器的构成的框 图。
     模拟器 10 具备程序执行装置控制部 2 和程序执行部 3, 并与调试器 11、 调试器 12 连接。
     程序执行装置控制部 2 具备 : 连接请求标志 21, 保持来自调试器 11 的连接请求或 切断请求 ; 连接请求标志 22, 保持来自调试器 12 的连接请求或切断请求。在此, 切断请求 是用于切断例如调试器 11 与模拟器 10 之间的连接的请求, 连接请求是物理性地新连接到 模拟器 10 的调试器用于与模拟器 10 连接的请求。
     另外, 为了简便, 作为本发明的实施例说明连接有 2 个调试器的构成, 但是只要是 2 个以上, 连接几个调试器都可以。此时, 程序执行装置控制部 2 保持相当于连接到模拟器 10 的调试器的数量的数量的连接请求标志, 各个连接请求标志保持来自对应的调试器的连 接请求。 为此, 如果有 2 个以上的调试器连接到模拟器 10, 则能够以本发明所公开的内容相 同的方法, 实现同样的效果。
     连接请求标志 21 保持来自调试器 11 的连接请求或切断请求。在此, 连接请求标 志 21 例如作为初始值被设定为 0。
     并且, 由程序执行装置控制部 2 来变更连接请求标志 21 的设定值。
     也就是说, 接受来自调试器 11 的连接请求, 连接请求标志 21 被设定为 1, 或接受切 断请求, 而连接请求标志 21 被设定为 0, 从而保持来自调试器 11 的连接请求或切断请求。另外, 连接请求标志 22 与连接请求标志 21 同样, 因此省略其说明。
     程序执行装置控制部 2 从连接到模拟器 10 的调试器 11 或调试器 12 接受连接请 求或切断请求, 判定是否需要结束程序的执行。 在此, 结束程序的执行不仅包括使程序执行 部 3 结束正在执行的程序, 而且也包括关机等使模拟器 10 结束工作。
     并且, 程序执行装置控制部 2, 按照是否需要结束程序的执行的判定结果, 指示程 序执行部 3 结束程序的执行。
     在此, 程序执行装置控制部 2 利用连接请求标志 21 以及连接请求标志 22 来判定 程序的执行的结束。
     具体而言, 程序执行装置控制部 2 参照连接请求标志 21 以及连接请求标志 22 被 设定的值, 来判定程序的执行的结束。 例如, 程序执行装置控制部 2, 如果确认为连接请求标 志 21 以及连接请求标志 22 都被设定为 0, 则判定为处于能够结束程序的执行的状态, 并结 束程序的执行。
     而例如, 程序执行装置控制部 2 确认为连接请求标志 21 被设定为 0 而连接请求标 志 22 被设定为 1 的情况下, 能够判断为调试器 12 处于不能结束程序的执行的状态, 因此程 序执行装置控制部 2 保留结束程序的执行的控制, 直到连接请求标志 22 被设定为 0 为止。
     接着, 说明本发明的实施例的程序执行结束判定步骤 S4。
     图 7 是示出实施例 2 的程序执行结束判定步骤 S4 的处理的流程图。
     模拟器 10 中的程序执行装置控制部 2 从调试器 11 或调试器 12 接受连接请求或 切断请求, 开始程序执行结束判定步骤 S4。
     首先, 程序执行装置控制部 2 记忆从连接到模拟器 10 的调试器 11 或调试器 12 接 受了连接请求或切断请求这一事宜 (S401 : 连接请求或切断请求接受步骤 )。
     在此, 程序执行装置控值部 2 利用连接请求标志 21 或连接请求标志 22, 来明确是 从调试器 11 或调试器 12 中的哪一个调试器接受了连接请求或切断请求。
     例如, 程序执行装置控制部 2, 在从调试器 11 接受了连接请求的情况下, 将连接请 求标志 21 设定为 1, 在从调试器 12 接受了连接请求的情况下, 将连接请求标志 22 设定为 1。 相反, 程序执行装置控制部 2, 在从调试器 11 接受了切断请求的情况下, 将连接请求标志 21 设定为 0, 在从调试器 12 接受了切断请求的情况下, 将连接请求标志 22 设定为 0。在此, 连 接请求标志 21 和连接请求标志 22 的初始值为 0。
     然后, 程序执行装置控值部 2 判定是否从所有的调试器 ( 调试器 11 以及调试器 12) 接受了切断请求 (S402 : 判断请求受理判定步骤 )。
     也就是说, 程序执行装置控制部 2 确认是否连接请求标志 21 和连接请求标志 22 这两者都被设定为 0。
     程序执行装置控制部 2, 在 S402 判定为从所有的调试器 ( 调试器 11 以及调试器 12) 接受了切断请求的情况下, 程序执行装置控制部 2 指示程序执行部 3 结束程序的执行 (S403 : 程序执行结束步骤 )。
     也就是说, 程序执行装置控制部 2 在确认为连接请求标志 21 和连接请求标志 22 这两者都被设定为 0 的情况下, 指示程序执行部 3 结束程序的执行。
     并且, 结束程序执行结束判定步骤 S4。
     另外, 程序执行装置控制部 2, 在 S402 中判定为从任一个调试器 ( 调试器 11 或调试器 12) 接受了连接请求的情况下, 对程序执行部 3 不进行任何工作而结束程序执行结束 判定步骤 S4。
     程序执行装置控制部 2, 如上所述, 实施程序执行结束判定步骤 S4。
     以上, 根据实施例 2, 模拟器 10, 从连接到该模拟器 10 的调试器 11 以及调试器 12 个别地接受连接请求或切断请求, 来判定是否从连接到模拟器 10 的所有的调试器 ( 调试器 11 以及调试器 12) 接受了切断请求。并且, 模拟器 10, 在判定为从所有的调试器 ( 调试器 11 以及调试器 12) 接受了切断请求的情况下, 结束程序的执行。
     这样, 实施例 2 所涉及的程序执行装置以及其控制方法, 在模拟器 10( 程序执行装 置 1) 判断为程序的调试已结束的时刻, 自动地结束程序的执行, 因此能够削减开发者以手 动来结束的工时。
     如上所述, 根据实施例 2, 在调试器间不设置通信接口, 而根据标志所示的请求的 组合, 无需调试器彼此的连携而结束模拟器 10 的程序的执行。
     ( 实施例 3)
     图 8 是示出实施例 3 的模拟器 10 以及连接到该模拟器 10 的调试器的构成的框图。
     模拟器 10 具备程序执行装置控制部 2 和程序执行部 3, 并与调试器 11 以及调试器 12 连接。 程序执行装置控制部 2 具备 : 程序执行标志 33, 保持程序执行部 3 是否已执行程 序; 复位标志 31, 保持示出来自调试器 11 的复位请求的有效性的信息 ; 复位标志 32, 保持 示出来自调试器 12 的复位请求的有效性的信息。
     另外, 为了简便, 作为本发明的实施例说明连接了 2 个调试器的构成, 但是只要是 2 个以上, 连接几个调试器都可以。此时, 程序执行装置控制部 2 保持相当于连接到模拟器 10 的调试器的数量的数量的复位标志, 各个复位标志与来自对应的调试器的复位请求对 应。 为此, 如果有 2 个以上的调试器连接到模拟器 10, 则能够以与本发明所公开的内容同样 的方法来实现同样的效果。
     复位标志 31 保持示出来自调试器 11 的复位请求的有效性的信息。在此, 复位标 志 31 作为初始值被设定为 0, 由程序执行装置控制部 2 来变更设定值。
     例如, 接受来自调试器 11 的复位请求, 如果其有效, 则复位标志 31 被设定为 1, 如 果其无效, 则复位标志 31 被设定为 0, 从而保持示出来自调试器 11 的复位请求是否有效的 信息。
     程序执行标志 33 保持示出程序执行部 3 是否已执行程序的信息。在此, 程序执行 标志 33 作为初始值被设定为 0, 由程序执行装置控制部 2 来变更设定值。 并且, 所谓是否已 执行程序, 不仅包括是否在执行程序, 也包括是否已结束程序的执行。
     例如, 程序执行标志 33, 在程序执行部 3 已执行程序的情况下, 被设定为 1。
     另外, 复位标志 32 与复位标志 32 同样, 因此省略其说明。
     程序执行装置控制部 2, 在将调试器新 ( 或者再度 ) 连接到模拟器 10 时, 从该调试 器接受复位请求, 判定是否需要复位处理。在此, 复位处理是使程序执行装置 1( 在此为模 拟器 10) 重返启动的状态的处理。
     并且, 程序执行装置控制部 2, 按照是否需要复位处理的判定结果, 进行复位处理。
     在此, 程序执行装置控制部 2, 利用程序执行标志 33、 复位标志 31 以及复位标志 32
     来判定复位处理。
     具体而言, 程序执行装置控制部 2, 通过参照程序执行标志 33 以及与发出复位请 求的例如调试器 11 对应的复位标志 31 的值, 从而判定复位处理。
     并且, 例如程序执行装置控制部 2, 如果确认为程序执行标志 33 被设定为 1 而复位 标志 31 被设定为 0, 则继续程序的执行而不进行复位处理。 而如果确认为复位标志 31 被设 定为 1, 则进行复位处理并继续程序的执行。
     另外, 对于复位标志 32 也与复位标志 31 同样。
     接着, 说明实施例 3 中的复位处理判定步骤 S5。
     图 9 是示出本发明的实施例 3 中的复位处理判定步骤 S5 的处理的流程图。
     模拟器 10 中的程序执行装置控制部 2, 从调试器 11 或调试器 12 接受复位请求, 开 始复位处理判定步骤 S5。
     首先, 程序执行装置控制部 2, 记忆从连接到模拟器 10 的调试器 11 或调试器 12 接 受了复位请求这一事宜 (S501 : 复位请求接受步骤 )。
     然后, 程序执行装置控制部 2, 利用程序执行标志 33, 判定是否已执行程序 (S502 : 程序执行判定步骤 )。 也就是说, 程序执行装置控制部 2 确认程序执行标志 33 是否被设定为 1。
     程序执行装置控制部 2, 在程序执行判定步骤 S502 中, 判定为已执行程序的情况 下, 不进行任何工作而结束复位处理判定步骤 S5。
     也就是说, 程序执行装置控制部 2, 在确认为程序执行标志 33 被设定为 1 的情况 下, 不进行任何工作而结束复位处理判定步骤 S5。
     相反, 程序执行装置控制部 2, 在程序执行判定步骤 S502 中, 在判定为未执行程序 的情况下, 则程序执行装置控制部 2 指示复位处理 (S503 : 复位处理执行步骤 )。
     然后, 结束复位处理判定步骤 S5。
     另外, 程序执行装置控制部 2, 在程序执行判定步骤 S502 判定从调试器 11 接受的 复位请求是否有效, 在其有效的情况下, 设定为 1, 并进入复位处理判定步骤 S5。相反, 在其 无效的情况下, 设定为 0, 结束复位处理判定步骤 S5。
     程序执行装置控制部 2, 如上所述, 实施复位处理判定步骤 S5。
     根据如上所述, 即使在正在执行程序时新连接了调试器的情况下, 也能够不影响 正在执行的程序而继续调试。
     ( 变形例 1)
     其次, 说明本发明的实施例的复位处理判定步骤 S6。
     图 10 是示出实施例 3 中的复位处理判定步骤 S6 的处理的流程图。
     复位处理判定步骤 S6 是在上述复位处理判定步骤 S5 的基础上追加了复位处理无 效通知步骤 S604。另外, 与图 9 相同的要素附加同一符号, 并省略其说明。
     程序执行装置控制部 2, 在程序执行判定步骤 S502 判定为已执行程序的情况下, 向发出了复位请求的调试器 ( 例如调试器 11) 通知复位处理已为无效这一事宜 (S604 : 无 效通知步骤 )。
     其后, 结束复位处理判定步骤 S6。
     程序执行装置执行部 2, 如上所述, 实施复位处理判定步骤 S6。
     根据上述, 通过向调试器通知复位处理已变为无效这一事宜, 开发者能够认识到 复位处理已为无效, 而掌握模拟器 10( 程序执行装置 1) 的工作。
     ( 变形例 2)
     其次, 说明本发明的实施例的复位处理判定步骤 S7。
     图 11 是示出实施例 3 的复位处理判定步骤 S7 的处理的流程图。
     复位处理判定步骤 S7 是在所述复位处理判定步骤 S5 的基础上追加了复位处理接 受判定步骤 S704。另外, 与图 9 相同的要素附加同一符号, 并省略详细的说明。
     程序执行装置控制部 2, 在程序执行判定步骤 S502 判定为已执行程序的情况下, 判定是否接受复位处理。
     也就是说, 程序执行装置控制部 2, 在确认为复位标志 31 被设定为 1 的情况下, 实 施复位处理执行步骤 S503。并且, 在实施复位处理执行步骤 S503 之后, 结束复位处理判定 步骤 S7。
     相反, 程序执行装置控制部 2, 在确认为复位标志 31 被设定为 0 的情况下, 不进行 任何工作而结束复位处理判定步骤 S7。
     另外, 复位标志 32 与复位标志 31 同样, 因此省略其说明。
     程序执行装置控制部 2, 如上所述, 实施复位处理判定步骤 S7。
     据此, 程序执行装置控制部 2, 如果从新连接的调试器 11 或调试器 12 接受复位请 求, 则能够不论程序执行标志 33 的状态而以开发者所期望的定时强制进行复位。
     ( 变形例 3)
     其次, 说明本发明的实施例的复位处理判定步骤 S8。
     图 12 是示出实施例 3 的复位处理判定步骤 S8 的处理的流程图。
     复位处理判定步骤 S8 是在所述复位处理判定步骤 S5 的基础上追加了调试资源复 位处理执行步骤 S804。另外, 对于与图 9 相同的要素附加同一符号, 并省略其详细说明。
     程序执行装置控制部 2, 在程序执行判定步骤 S502 判定为已执行程序的情况下, 执行调试资源的复位处理。
     也就是说, 程序执行装置控制部 2, 在确认为程序执行标志 33 被设定为 1 的情况 下, 实施调试资源复位处理执行步骤 S804。并且, 实施调试资源复位处理执行步骤 S804 之 后, 结束复位处理判定步骤 S8。
     程序执行装置控制部 2, 如上所述, 实施复位处理判定步骤 S7。
     这样, 通过程序执行装置控制部 2 仅对正在执行程序时连接的调试器的调试资源 进行初始化, 从而能够防止调试资源在非正常的情况下进行处理。
     以上, 根据实施例 2, 在调试器间不设置通信接口, 而根据标志所示的请求的组合, 无需调试器彼此的连携而进行复位处理或调试资源的初始化等。
     如上所述, 根据本发明, 能够实现在调试器间不设置通信接口, 而根据标志所示的 请求的组合, 无需调试器彼此的连携而控制程序执行装置的程序执行装置以及其方法。
     另外, 在实施例 1 ~ 3, 说明了在调试器间不设置通信接口, 而根据标志所示的请 求的组合, 无需调试器彼此的连携而控制程序执行装置的方式, 但是并不限定于此。 也就是 说, 如图 13 所示, 将这些全部组合起来的方式也包括在本发明的范围内。在此, 图 13 是示 出本发明的实施例的模拟器以及连接到该模拟器的调试器的构成的框图。以上, 根据实施例, 对本发明的程序执行装置以及其控制方法进行了说明, 但是本 发明并不限定于这些实施例。只要不超出本发明的宗旨, 对本发明的实施例进行了本领域 的技术人员所能想到的各种变形的方式, 或组合不同的实施例的构成要素来构筑的方式, 都包含在本发明的范围内。
     本发明能够利用于程序执行装置以及其控制方法, 尤其能够利用于具有模拟多个 处理器的模拟器或安装了多个处理器的评估板的程序执行装置以及其控制方法, 或能够以 多调试器控制的系统 LSI 的模拟器的程序执行装置以及其控制方法。

程序执行装置以及其控制方法.pdf_第1页
第1页 / 共31页
程序执行装置以及其控制方法.pdf_第2页
第2页 / 共31页
程序执行装置以及其控制方法.pdf_第3页
第3页 / 共31页
点击查看更多>>
资源描述

《程序执行装置以及其控制方法.pdf》由会员分享,可在线阅读,更多相关《程序执行装置以及其控制方法.pdf(31页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101990662A43申请公布日20110323CN101990662ACN101990662A21申请号200980108676X22申请日20090304200806659320080314JPG06F11/2820060171申请人松下电器产业株式会社地址日本大阪府72发明人泉晋司柴田耕作加藤浩一74专利代理机构永新专利商标代理有限公司72002代理人陈萍54发明名称程序执行装置以及其控制方法57摘要以往,使多个调试器同步执行多个程序的情况下,需要调试器间进行特别的调解的接口。本发明通过执行具备维持调试器的程序执行状态和实际的程序执行状态互不相同的状态的步骤的控制方法。

2、,针对来自调试器的程序执行请求,根据需要保留程序的执行,从而无需调试器间的调解而实现程序的同步执行。30优先权数据85PCT申请进入国家阶段日2010091386PCT申请的申请数据PCT/JP2009/0009702009030487PCT申请的公布数据WO2009/113273JA2009091751INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书15页附图13页CN101990662A1/2页21一种控制方法,用于控制程序执行装置,所述程序执行装置包括多个调试器和程序执行部,所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序,所述控制方法的特征在于。

3、,包括保持步骤,从所述多个调试器的每一个接受程序的执行的开始请求或停止请求,并按照所述多个调试器的每一个保持示出开始请求或停止请求的标志;以及程序执行控制步骤,根据所述标志所示的所述开始请求以及所述停止请求的组合进行控制,使所述程序执行部开始或停止执行所述多个程序,在所述程序执行控制步骤中,在已使所述程序执行部停止执行所述多个程序的情况下,向与示出停止请求的标志对应的调试器通知程序的执行被停止。2根据权利要求1所述的控制方法,其特征在于,在所述程序执行控制步骤中,在所述组合仅由所述开始请求构成的情况下,所述程序执行部开始执行所有的所述多个程序。3根据权利要求2所述的控制方法,其特征在于,在所述。

4、程序执行控制步骤中,在所述组合包括所述停止请求的情况下,所述程序执行部停止执行所有的所述多个程序,并仅向与该停止请求对应的调试器通知程序的执行被停止。4根据权利要求3所述的控制方法,其特征在于,在所述保持步骤中,在所述程序执行部从正在执行的所述多个程序中的任一个程序检测出断点的情况下,则视为接受了该程序的执行的停止请求而保持示出来自与检测出所述断点的程序对应的调试器的停止请求的标志。5一种程序执行装置,所述程序执行装置包括多个调试器和程序执行部,所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序,所述程序执行装置的特征在于,具备保持部,从所述多个调试器的每一个接受程序的执行的开始请求。

5、或停止请求,并按照所述多个调试器的每一个保持示出开始请求或停止请求的标志;以及程序执行控制部,根据所述标志所示的所述开始请求以及所述停止请求的组合进行控制,使所述程序执行部开始或停止执行所述多个程序,所述程序执行控制部,在已使所述程序执行部停止执行所述多个程序的情况下,向与示出停止请求的标志对应的调试器通知程序的执行被停止。6一种程序,用于控制程序执行装置,所述程序执行装置包括多个调试器和程序执行部,所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序,其特征在于,所述程序使计算机执行以下步骤保持步骤,从所述多个调试器的每一个接受程序的执行的开始请求或停止请求,并按照所述多个调试器的每。

6、一个保持示出开始请求或停止请求的标志;以及程序执行控制步骤,根据所述标志所示的所述开始请求以及所述停止请求的组合进行控制,使所述程序执行部开始或停止执行所述多个程序,在所述程序执行控制步骤中,在已使所述程序执行部停止执行所述多个程序的情况下,向与示出停止请求的标志对应的调试器通知程序的执行被停止。7一种控制方法,用于控制程序执行装置,所述程序执行装置包括多个调试器和程序权利要求书CN101990662A2/2页3执行部,所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序,所述控制方法的特征在于,包括切断请求保持步骤,从所述多个调试器分别地接受用于切断该调试器与所述程序执行装置的连接的。

7、切断请求,并按照该多个调试器的每一个保持示出是否进行了切断请求的标志;以及执行结束控制步骤,根据所述标志所示的所述切断请求的组合进行控制,以使所述程序执行装置结束工作,在所述执行结束控制步骤中包括切断判定步骤和程序执行装置结束步骤,在所述切断判定步骤中,根据所述标志判定连接到所述程序执行装置的所有的调试器是否都进行了切断请求,在所述程序执行装置结束步骤中,在所述切断判定步骤判定为连接到所述程序执行装置的所有的调试器都进行了切断请求的情况下,使所述程序执行装置结束工作。8一种控制方法,用于控制程序执行装置,所述程序执行装置包括多个调试器和程序执行部,所述程序执行部并行执行作为所述多个调试器的调试。

8、对象的多个程序,所述控制方法的特征在于,包括执行标志保持步骤,保持执行标志,该执行标志示出所述程序执行部是否正在执行程序;复位接受步骤,从连接到所述程序执行装置的调试器接受复位请求;判定步骤,判定接受的所述复位请求是否有效;复位标志保持步骤,保持复位标志,该复位标志按照所述判定结果示出所述复位请求是否有效;以及复位步骤,根据所述复位标志和所述执行标志,使所述程序执行装置复位。9根据权利要求8所述的控制方法,其特征在于,所述控制方法还包括通知步骤,在所述判定步骤判定所述复位请求为无效的情况下,向与所述复位请求对应的所述调试器通知所述复位请求已变为无效。10根据权利要求8所述的控制方法,其特征在于。

9、,在所述判定步骤中,从连接到所述程序执行装置的调试器接受了复位请求的情况下,不管所述执行标志的值如何,都将该复位请求判定为有效。11根据权利要求8所述的控制方法,其特征在于,所述控制方法还包括资源复位步骤,根据所述复位标志和所述执行标志,使程序执行装置的调试资源复位,在所述资源复位步骤中,在所述复位标志示出所述复位请求为无效,且所述执行标志示出所述程序执行部正在执行程序的情况下,使所述程序执行装置的调试资源复位。权利要求书CN101990662A1/15页4程序执行装置以及其控制方法技术领域0001本发明涉及程序执行装置以及其控制方法,尤其涉及由多个调试器DEBUGGER控制程序执行装置而不出。

10、现矛盾的程序执行装置以及其控制方法。背景技术0002近些年,有这样的程序执行装置,即其具有能够同时执行在单一的或多个处理器上工作的多个程序的模拟器,或安装有多个处理器的评估板等。这些程序执行装置对于程序的开发以及调试有用。0003尤其是通过将多个调试器连接到这些程序执行装置来同时进行多个程序的调试,从而容易地发现问题。此时,原则上,由程序执行装置执行的程序和以该程序为调试对象的调试器一对一地对应。0004能够并行执行多个程序且与多个调试器连接的程序执行装置,在从调试器接受了执行请求的情况下,开始执行与进行了执行请求的调试器对应的程序。0005在此,该程序执行装置能够并行执行多个程序,因此需要使。

11、由各个调试器进行调试的多个程序同步以便执行。0006因此,提出了这样的多计算机调试器系统MULTICOMPUTERDEBUGGERSYSTEM,即通过在调试器间设置通信接口来使调试器的执行请求的定时一致,从而实现多个程序的同步执行例如,专利文献1。0007图14是示出多计算机调试器系统的构成的框图。0008图14所示的多计算机调试器系统具备程序执行装置61,能够并行执行多个程序;调试器11以及12,被连接到程序执行装置61;多计算机调试器73,是调试器间通信接口。0009并且,程序执行装置61具备程序执行部62,执行调试器11作为调试对象的程序;程序执行部63,执行调试器12作为调试对象的程序。

12、。0010下述专利文献1所公开的多计算机调试器系统中,为了使调试器11以及调试器12的程序执行请求同步,利用作为调试器间通信接口的多计算机调试器73。0011接着,以多计算机调试器系统中的作为典型的工作的“停止”、“中断”为例进行说明。0012停止工作0013首先,程序执行装置61正在并行执行多个程序的情况下,被连接到程序执行装置61的调试器11以及调试器12中的、例如1个调试器11进行停止请求。0014此时,程序执行装置61仅停止与调试器11对应的程序的执行。也就是说,程序执行装置61停止程序执行部62,而继续其他的程序的执行,在此继续与调试器12对应的程序的执行。或者,程序执行装置61停止。

13、程序执行部62,并停止所有的程序的执行在此停止与调试器12对应的程序的执行,所有的调试器调试器11以及调试器12转入停止状态。说明书CN101990662A2/15页50015中断工作0016并且,在程序执行装置61并行执行多个程序的情况下,在程序执行装置61检测断点时,与上述的停止同样地,仅停止与检测出断点的程序对应的程序的执行。此时,程序执行装置61继续未检测出断点的其他程序的执行。或者,程序执行装置61停止所有的程序的执行,所有的调试器调试器11以及调试器12转入停止状态。0017专利文献1日本特开平8171498号公报0018然而,上述以往的技术存在以下课题。0019程序执行装置61中。

14、,为了同步执行多个程序,在程序执行装置61中设置调试器间通信接口多计算机调试器73。但是,要在程序执行装置61中设置通信接口,则从通信接口的规格策定到安装、维护等需要工时。而且,每增加与该通信接口对应的调试器的种类,则工时就会增加。0020并且,程序执行装置61能够并行执行多个程序。但是,例如因来自1个调试器11的停止请求而仅停止正在执行的多个程序中的与调试器11对应的1个程序,而继续其他的程序的执行的情况下,则存储器或变量的值会被改写而妨碍调试。并且,因来自1个调试器,例如来自1个调试器11的停止请求而停止所有的正在执行的程序的情况下,未进行停止请求的调试器12也转入停止状态。为此,对于调试。

15、器12出现原本不必要的调试访问DEBUGACCESS,而不能迅速地进行所需要的调试工作。0021而且,有关因断点而导致的停止,存在与因停止请求而导致停止的情况同样的问题。也就是说,仅使检测出断点的程序停止的情况下,其他的程序的执行会继续而会妨碍调试。并且,因检测出断点而使所有的程序的执行停止的情况下,所有的调试器转入停止状态而出现不必要的调试访问。0022并且,有关结束处理,要判断多个程序是否都结束则需要设置通信接口,需要安装、维护等工时。0023并且,有关调试器的连接,如果在正在执行程序时连接调试器,则因为调试器的复位处理,而使存储器或变量的值被改写而妨碍调试。发明内容0024本发明鉴于上述。

16、课题,目的在于提供一种程序执行装置以及其控制方法,其能够不在调试器间设置通信接口而同步执行且抑制调试访问。0025为了解决上述以往的课题,本发明的控制方法,用于控制程序执行装置,所述程序执行装置包括多个调试器和程序执行部,所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序,所述控制方法,包括保持步骤,从所述多个调试器的每一个接受程序的执行的开始请求或停止请求,并按照所述多个调试器的每一个保持示出开始请求或停止请求的标志;以及程序执行控制步骤,根据所述标志所示的所述开始请求以及所述停止请求的组合进行控制,使所述程序执行部开始或停止执行所述多个程序,在所述程序执行控制步骤中,在已使所述程。

17、序执行部停止执行所述多个程序的情况下,向与示出停止请求的标志对应的调试器通知程序的执行被停止。0026根据此构成,能够不在调试器间设置通信接口,而根据标志所示的请求的组合,无需调试器彼此的连携連携而同步执行程序或同步停止程序。而且,在同步停止程序的说明书CN101990662A3/15页6情况下,能够仅向进行了程序的执行的停止请求的调试器通知被停止这一事宜,因此能够抑制来自调试器的不必要的调试访问。0027在此,也可以是,在所述程序执行控制步骤中,在所述组合仅由所述开始请求构成的情况下,所述程序执行部开始执行所有的所述多个程序。0028根据此构成,即使程序执行装置接受了来自个别的调试器的执行请。

18、求,也保留程序的执行,直到接受来自所有的调试器的执行请求为止。据此,能够在程序执行装置一侧使程序的执行同步,能够同步执行与每个调试器对应的程序而不需要调试器间进行通信。0029并且,也可以是,在所述程序执行控制步骤中,在所述组合包括所述停止请求的情况下,所述程序执行部停止执行所有的所述多个程序,并仅向与该停止请求对应的调试器通知程序的执行被停止。0030根据此构成,因为不向进行了停止请求的调试器以外的调试器进行停止的通知,因此未进行停止请求的调试器不转入停止状态。为此,能够防止出现未进行停止请求的调试器的不必要的调试访问。0031并且,也可以是,在所述保持步骤中,在所述程序执行部从正在执行的所。

19、述多个程序中的任一个程序检测出断点的情况下,则视为接受了该程序的执行的停止请求而保持示出来自与检测出所述断点的程序对应的调试器的停止请求的标志。0032根据此构成,与检测出断点的程序对应的调试器以外的调试器不会从程序执行装置接收停止通知,因此不会转入停止状态。据此,能够防止出现来自与检测出断点的程序无关的调试器的不必要的调试访问。0033并且,本发明的控制方法,用于控制程序执行装置,所述程序执行装置包括多个调试器和程序执行部,所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序,所述控制方法,包括切断请求保持步骤,从所述多个调试器分别地接受用于切断该调试器与所述程序执行装置的连接的切断。

20、请求,并按照该多个调试器的每一个保持示出是否进行了切断请求的标志;以及执行结束控制步骤,根据所述标志所示的所述切断请求的组合进行控制,以使所述程序执行装置结束工作,在所述执行结束控制步骤中包括切断判定步骤和程序执行装置结束步骤,在所述切断判定步骤中,根据所述标志判定连接到所述程序执行装置的所有的调试器是否都进行了切断请求,在所述程序执行装置结束步骤中,在所述切断判定步骤判定为连接到所述程序执行装置的所有的调试器都进行了切断请求的情况下,使所述程序执行装置结束工作。0034根据此构成,能够不在调试器间设置通信接口,而根据所述切断判定步骤来使程序执行装置结束。0035并且,本发明的控制方法,用于控。

21、制程序执行装置,所述程序执行装置包括多个调试器和程序执行部,所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序,所述控制方法,包括执行标志保持步骤,保持执行标志,该执行标志示出所述程序执行部是否正在执行程序;复位接受步骤,从连接到所述程序执行装置的调试器接受复位请求;判定步骤,判定接受的所述复位请求是否有效;复位标志保持步骤,保持复位标志,该复位标志按照所述判定结果示出所述复位请求是否有效;以及复位步骤,根据所述复位标志和所述执行标志,使所述程序执行装置复位。0036根据此构成,能够不在调试器间设置通信接口,而根据所述调试器判定步骤来控说明书CN101990662A4/15页7制复位。

22、处理,不影响正在执行的程序而进行调试。0037在此,也可以是,所述控制方法还包括通知步骤,在所述判定步骤判定所述复位请求为无效的情况下,向与所述复位请求对应的所述调试器通知所述复位请求已变为无效。0038根据此构成,通过通知复位处理已变为无效这一事宜,能够使开发者认识到复位处理已为无效0039在此,也可以是,在所述判定步骤中,从连接到所述程序执行装置的调试器接受了复位请求的情况下,不管所述执行标志的值如何,都将该复位请求判定为有效。0040根据此构成,能够在开发者所期望的定时强制进行复位。0041在此,也可以是,所述控制方法还包括资源复位步骤,根据所述复位标志和所述执行标志,使程序执行装置的调。

23、试资源复位,在所述资源复位步骤中,在所述复位标志示出所述复位请求为无效,且所述执行标志示出所述程序执行部正在执行程序的情况下,使所述程序执行装置的调试资源复位。0042根据此构成,通过连接调试器时仅使调试资源初始化,从而防止在调试资源非正常的情况下进行处理。0043并且,本发明的程序执行装置包括多个调试器和程序执行部,所述程序执行部并行执行作为所述多个调试器的调试对象的多个程序,所述程序执行装置,具备保持部,从所述多个调试器的每一个接受程序的执行的开始请求或停止请求,并按照所述多个调试器的每一个保持示出开始请求或停止请求的标志;以及程序执行控制部,根据所述标志所示的所述开始请求以及所述停止请求。

24、的组合进行控制,使所述程序执行部开始或停止执行所述多个程序,所述程序执行控制部,在已使所述程序执行部停止执行所述多个程序的情况下,向与示出停止请求的标志对应的调试器通知程序的执行被停止。0044另外,本发明不仅能够作为装置来实现,也能够作为具有构成这样的装置的处理单元的集成电路来实现,或以构成该装置的处理单元作为步骤的方法来实现,或作为使计算机执行这些步骤的程序来实现,或作为表示该程序的信息、数据或信号来实现等。0045根据本发明,能够实现能够不在调试器间设置通信接口而同步执行且抑制调试访问的程序执行装置以及其控制方法。0046并且,通过本发明的程序执行装置以及其控制方法,不仅能够不在调试器间。

25、设置通信接口而实现同步执行,而且能够在同步停止、同步中断程序时,仅使必要的调试器转入停止状态,因此不出现不必要的调试访问而能够迅速地进行调试工作。附图说明0047图1是示出本发明的实施例的程序执行装置的外观的图。0048图2是示出实施例1的模拟器以及连接到该模拟器的调试器的构成的框图。0049图3是示出实施例1的程序执行再次开始判定步骤S1的处理的流程图。0050图4是示出实施例1的程序停止步骤S2的处理的流程图。0051图5是示出实施例1的中断步骤S3的处理的流程图。0052图6是示出实施例2的模拟器以及连接到该模拟器的调试器的构成的框图。0053图7是示出实施例2的程序执行结束判定步骤S4。

26、的处理的流程图。0054图8是示出实施例3的模拟器以及连接到该模拟器的调试器的构成的框图。说明书CN101990662A5/15页80055图9是示出实施例3的复位处理判定步骤S5的处理的流程图。0056图10是示出实施例3的复位处理判定步骤S6的处理的流程图。0057图11是示出实施例3的复位处理判定步骤S7的处理的流程图。0058图12是示出实施例3的复位处理判定步骤S8的处理的流程图。0059图13是示出本发明的实施例的模拟器以及连接到该模拟器的调试器的构成的框图。0060图14是示出多计算机调试器系统的构成的框图。0061符号说明00621、61程序执行装置00631A主机装置0064。

27、1B显示装置00651C输入装置00662程序执行装置控制部00673、62、63程序执行部006810模拟器006911、12调试器007013、14执行请求标志007121、22连接请求标志007231、32复位标志007333程序执行标志007473多计算机调试器具体实施方式0075以下参照附图说明用于实施本发明的最优方式。0076实施例10077图1是示出本发明的实施例的程序执行装置1的外观的图。程序执行装置1具备主机装置1A、显示装置1B以及输入装置1C。程序执行装置1模拟单一的或多个处理器。并且,程序执行装置1是数据处理装置,执行称为模拟器的应用。模拟器能够同时执行在被模拟的处理器。

28、上工作的多个程序。在此,模拟器是指,通常,实际上很难进行实验的情况下,制成其虚拟模型并进行模拟实验的硬件或软件。0078另外,作为本发明的实施例之一,以下将程序执行装置1作为模拟器10来进行说明,但是即使程序执行装置1是安装了处理器的评估板,本发明的实施以及效果也不会变。0079图2是示出实施例1的模拟器10以及连接到该模拟器的调试器的构成的框图。0080模拟器10具备程序执行装置控制部2和程序执行部3,并与调试器11和调试器12连接。0081程序执行装置控制部2具备执行请求标志13,保持来自调试器11的执行请求;执行请求标志14,保持来自调试器12的执行请求。0082另外,为了简便,作为本发。

29、明的实施例,以连接2个调试器的构成进行说明,但是只要是2个以上,连接几个调试器都可以。此时,程序执行装置控制部2保持相当于连接到说明书CN101990662A6/15页9模拟器10的调试器的数量的数量的执行请求标志,各个执行请求标志保持来自对应的调试器的执行请求。为此,如果有2个以上的调试器连接到模拟器10,就能够以与本发明所公开的内容同样的方法来实现同样的效果。0083执行请求标志13保持来自调试器11的执行请求。在此,作为初始值,执行请求标志13被设定为0。接受来自调试器11的执行请求,执行请求标志13被设定为1,从而保持来自调试器11的执行请求。0084并且,由程序执行装置控制部2来变更。

30、执行请求标志13的设定值。另外,执行请求标志14与执行请求标志13同样,因此省略其说明。0085程序执行装置控制部2,根据执行请求标志13以及执行请求标志14所示的所述开始请求以及停止请求的组合,控制程序执行部3的执行的开始或停止。0086具体而言,程序执行装置控制部2,从连接到模拟器10的调试器11或调试器12接受程序的执行请求或停止请求,判定是否需要再次开始或停止程序的执行。并且,程序执行装置控制部2,通过从正在执行的程序中检测断点来判定是否需要停止程序。0087并且,程序执行装置控制部2,按照是否需要再次开始程序的执行或停止程序的执行的判定结果,指示程序执行部3再次开始程序的执行或停止程。

31、序的执行。0088并且,程序执行装置控制部2,仅向与指示了程序执行部3停止程序的执行的程序对应的调试器,进行停止通知。0089在此,程序执行装置控制部2利用执行请求标志13以及执行请求标志14来判定再次开始或停止程序的执行。0090具体而言,程序执行装置控制部2通过参照执行请求标志13以及执行请求标志14被设定的值,判定再次开始程序的执行或停止程序的执行。例如,程序执行装置控制部2,如果确认执行请求标志13以及执行请求标志14都被设定为1,则判定为程序执行部3的程序为能够开始执行的状态,如果程序执行部3未在执行程序,则再次开始程序的执行。0091在此,例如,程序执行部3停止程序的执行的情况下,。

32、且程序执行装置控制部2确认执行请求标志13被设定为1而执行请求标志14被设定为0的情况下,程序执行装置控制部2保留使程序的执行开始的控制,直到执行请求标志14被设定为1为止。也就是说,程序执行装置控制部2使程序执行部3的程序的执行停止,直到执行请求标志14被设定为1为止。0092并且,例如,程序执行部3正在执行程序的情况下,且程序执行装置控制部2确认执行请求标志13或执行请求标志14被设定为0的情况下,程序执行装置控制部2判定为程序执行部3处于不能继续程序的执行的状态,如果程序执行部3正在执行程序则停止所有的程序的执行。0093程序执行部3能够并行执行或停止与多个调试器调试器11以及调试器12。

33、的每一个对应的程序。0094并且,程序执行部3,根据程序执行装置控制部2的指示,执行或停止程序。0095接着,以作为模拟器10的典型的工作的“再次开始”、“停止”以及“中断”为例,按照调试器操作者的操作流程进行说明。0096在此,调试器操作者将多个调试器调试器11以及调试器12连接到模拟器10,并利用模拟器10同时调试多个程序。说明书CN101990662A7/15页100097首先,调试器操作者将调试器11以及调试器12连接到模拟器10。0098然后,调试器操作者将与每个调试器调试器11以及调试器12分别对应的程序加载到程序执行部3。0099调试器操作者,在模拟器10中以调试器11以及调试器。

34、12开始执行多个程序的情况下,程序执行装置控制部2从调试器11或调试器12接受程序的执行请求。此时,程序执行装置控制部2接受程序的执行请求,实施执行再次开始判定步骤S1。0100并且,调试器操作者,为了在模拟器10调试多个程序而停止单一的或多个程序的执行的情况下,程序执行装置控制部2实施程序执行停止步骤S2。0101并且,调试器操作者,为了调试多个程序而设置断点,程序执行部3在执行程序时检测出断点的情况下,程序执行装置控制部2实施中断步骤S3。0102其次,说明在程序执行装置控制部2实施的程序执行再次开始判定步骤S1、程序执行停止步骤S2以及中断步骤S3。0103程序执行再次开始判定步骤010。

35、4首先,说明程序执行再次开始判定步骤S1。程序执行再次开始判定步骤S1是本发明的实施例1中具有特征的程序执行再次开始判定方法。0105图3是示出实施例1的程序执行再次开始判定步骤S1的处理的流程图。0106模拟器10中的程序执行装置控制部2,从调试器11或调试器12接受程序的执行请求,开始程序执行再次开始判定步骤S1。0107首先,程序执行装置控制部2,记忆从连接到模拟器10的调试器11或调试器12接受了执行请求这一事宜S101执行请求接受步骤。0108在此,程序执行装置控制部2,利用执行请求标志13或执行请求标志14,以明确是从调试器11或调试器12中的哪一个调试器接受了执行请求。例如,程序。

36、执行装置控制部2,在从调试器11接受了执行请求的情况下,将执行请求标志13设定为1,在从调试器12接受了执行请求的情况下,将执行请求标志14设定为1。在此,执行请求标志13和执行请求标志14的初始值为0。0109然后,程序执行装置控制部2,判定是否从所有的调试器调试器11以及调试器12接受了执行请求S102执行请求受理判定步骤。0110也就是说,程序执行装置控制部2确认是否执行请求标志13和执行请求标志14这两者都被设定了1。0111程序执行装置控制部2,在S102判定为从所有的调试器调试器11以及调试器12接受了执行请求的情况下,程序执行装置控制部2指示程序执行部3开始执行程序S103程序执。

37、行再次开始步骤。0112也就是说,程序执行装置控制部2,在确认为执行请求标志13和执行请求标志14这两者都被设定了1的情况下,指示程序执行部3开始执行程序。0113并且,结束程序执行再次开始判定步骤S1。0114另外,程序执行装置控制部2,在S102判定为未从所有的调试器调试器11以及调试器12接受执行请求的情况下,对程序执行部3不进行任何工作而结束程序执行再次开始判定步骤S1。0115程序执行装置控制部2,如上所述,实施程序执行再次开始判定步骤S1。说明书CN101990662A8/15页110116另外,在上述中虽未言及,但是调试器调试器11或调试器12向程序执行装置1进行了执行请求的情况。

38、下,程序执行装置1不论实际上是否执行程序,都返回接受了执行请求这一应答,因此调试器调试器11或调试器12转入程序执行状态。0117程序停止步骤0118其次,说明程序执行停止步骤S2。程序执行停止步骤S2是本发明的实施例1中具有特征的程序执行停止方法。0119图4是示出实施例1的程序执行停止步骤S2的处理的流程图。0120模拟器10中的程序执行装置控制部2接受来自调试器11或调试器12的程序的执行的停止请求,开始程序执行停止步骤S2。0121首先,程序执行装置控制部2识别是否从连接到模拟器10的调试器11或调试器12接受了程序的执行的停止请求。0122在此,程序执行装置控制部2,利用执行请求标志。

39、13或执行请求标志14来识别是从调试器11或调试器12中的哪一个调试器接受了执行的停止请求。例如,程序执行装置控制部2,在从调试器11接受了执行的停止请求的情况下,将执行请求标志13清0设定,在从调试器12接受了执行的停止请求的情况下,将执行请求标志14清0设定。在此,执行请求标志13和执行请求标志14的初始值为0。如在图3中的说明,程序执行部3在执行与调试器11以及调试器12对应的程序的情况下,执行请求标志13和执行请求标志14被设定为1。0123然后,程序执行装置控制部2使来自连接到模拟器10的调试器的执行请求无效S201执行请求无效化步骤。0124具体而言,程序执行装置控制部2,以执行请。

40、求标志13和执行请求标志14来识别是从调试器11或调试器12中的哪一个调试器接受了停止请求,并无效化发送了停止请求的调试器的执行请求。也就是说,程序执行装置控制部2,在从调试器11接受了停止请求的情况下,将与调试器11对应的执行请求标志13清0,并确认执行请求标志13为0,并无效化发送了停止请求的调试器11的执行请求。并且,执行请求被无效化的调试器11,即使之后向程序执行装置控制部2发送执行请求,也不会反映到执行请求标志13。0125然后,程序执行装置控制部2指示程序执行部3停止执行所有的程序S202程序执行停止步骤。程序执行部3接受来自程序执行装置控制部2的停止所有的程序的执行的指示,停止正。

41、在执行的所有的程序。0126然后,程序执行装置控制部2,仅向进行了停止请求的调试器通知已停止程序的执行这一事宜S203程序停止通知步骤。0127然后,结束程序执行停止步骤S2。0128程序执行装置控制部2,如上所述,实施程序执行停止步骤S2。0129因为程序执行装置控制部2在步骤S203仅向进行了停止请求的调试器通知程序执行的停止,因此进行了停止请求的调试器以外的调试器维持执行状态。为此,不会出现来自未进行停止请求的调试器的不必要的存储器参照等。据此,程序执行装置1能够削减调试器调试器11或调试器12与程序执行装置1之间的通信,能够迅速地处理来自进行了停止请求的调试器调试器11或调试器12的请。

42、求。0130而且,在调试器操作者进行了停止操作后,来自调试器11或调试器12的请求会在说明书CN101990662A9/15页12程序执行装置1迅速地被处理,因此使调试器的操作者的作业高效化。0131中断步骤0132接着,说明中断步骤S3。中断步骤S3是本发明的实施例中的具有特征的程序执行停止方法。0133图5是示出实施例1的中断步骤S3的处理的流程图。0134模拟器10中的程序执行装置控制部2,从正在执行的程序检测出断点的情况下,开始中断步骤S3。0135首先,程序执行装置控制部2识别是从与连接到模拟器10的调试器11或调试器12中的哪一个对应的程序检测出断点的。0136在此,程序执行装置控。

43、制部2,利用执行请求标志13或执行请求标志14,来识别与检测出断点的程序对应的调试器是调试器11或调试器12中的哪一个调试器。例如,程序执行装置控制部2,在与检测出断点的程序对应的调试器是调试器11的情况下,将执行请求标志13清0设定,在与检测出断点的程序对应的调试器是调试器12的情况下,将执行请求标志14清0设定。0137然后,程序执行装置控制部2,与图4同样地,使来自与检测出断点的程序对应的调试器的执行请求无效S301执行请求无效化步骤。0138例如,程序执行装置控制部2,在与检测出断点的程序对应的调试器是调试器11的情况下,将与调试器11对应的执行请求标志13清0。并且,程序执行装置控制。

44、部2确认执行请求标志13为0,并无效化来自调试器11的执行请求。0139并且,例如,程序执行装置控制部2,在与检测出断点的程序对应的调试器为调试器12的情况下,将与调试器12对应的执行请求标志14清0。并且,程序执行装置控制部2,确认执行请求标志14为0,并无效化来自调试器12的执行请求。0140然后,程序执行装置控制部2,指示程序执行部3停止执行所有的程序S302程序执行停止步骤。程序执行部3,接受来自程序执行装置控制部2的所有的程序的执行的停止指示,停止正在执行的所有的程序。0141然后,程序执行装置控制部2,仅向与检测出断点的程序对应的调试器通知已停止程序的执行这一事宜S303停止通知步。

45、骤。0142并且,结束中断步骤S3。0143程序执行装置控制部2,如上所述,实施中断步骤S3。0144程序执行装置控制部2,因为在步骤S303仅向与检测出断点的程序对应的调试器通知程序执行的停止,因此与检测出断点的程序对应的调试器以外的调试器维持执行状态。因此,不出现来自在断点未停止的调试器的不必要的存储器参照等。据此,程序执行装置1,能够削减调试器调试器11或调试器12与程序执行装置1之间的通信,能够迅速地处理来自与检测出断点的程序对应的调试器调试器11或调试器12的请求。0145而且,程序执行装置1模拟器10在断点停止后,如果在程序执行装置1迅速地处理来自调试器11或调试器12的请求,则会。

46、使调试器的操作者的作业高效化。0146如上所述,实施例1所涉及的程序执行装置以及其控制方法,无需调试器彼此的连携就能够同步执行多个程序,停止时也不会出现不必要的调试访问。0147并且,根据实施例1所涉及的程序执行装置以及其控制方法,能够不论调试器的说明书CN101990662A10/15页13状态和程序的执行状态是否对应而控制程序执行装置。0148并且,根据实施例1所涉及的程序执行装置以及其控制方法,程序执行装置即使接受了个别的调试器的执行请求,也保留程序的执行,直到从所有的调试器接受执行请求为止,从而能够在程序执行装置一侧使程序的执行同步,而不需调试器之间的通信就能够同步执行与每个调试器对应。

47、的程序。0149并且,根据实施例1所涉及的程序执行装置以及其控制方法,对进行了停止请求的调试器以外的调试器不进行停止通知,以使未进行停止请求的调试器不转入停止状态,从而能够防止出现未进行停止请求的调试器的不必要的调试访问。0150并且,根据实施例1所涉及的程序执行装置以及其控制方法,与检测出断点的程序对应的调试器之外的调试器不会从程序执行装置接收停止通知,因此不会转入停止状态。据此,能够防止出现来自与检测出断点的程序无关的调试器的不必要的调试访问。0151据此,能够实现在调试器间不设置通信接口就能够同步执行且抑制调试访问的程序执行装置以及其控制方法。0152而且,根据实施例1的程序执行装置以及。

48、其控制方法,不仅能够在调试器间不设置通信接口而实现同步执行,而且也能够在使程序同步停止、同步中断时仅使必要的调试器转入停止状态,因此能够防止出现不必要的调试访问而迅速地进行调试作业。0153实施例20154在上述实施例1中,说明了在调试器间不设置通信接口,而根据标志所示的请求的组合,无需调试器彼此的连携而控制程序执行装置的方式的一个例子,但是并不限定于此。在实施例2中,作为对程序执行装置进行控制的方式,说明与实施例1不同的方式的1个例子。0155图6是示出实施例2中的模拟器10以及连接到该模拟器10的调试器的构成的框图。0156模拟器10具备程序执行装置控制部2和程序执行部3,并与调试器11、。

49、调试器12连接。0157程序执行装置控制部2具备连接请求标志21,保持来自调试器11的连接请求或切断请求;连接请求标志22,保持来自调试器12的连接请求或切断请求。在此,切断请求是用于切断例如调试器11与模拟器10之间的连接的请求,连接请求是物理性地新连接到模拟器10的调试器用于与模拟器10连接的请求。0158另外,为了简便,作为本发明的实施例说明连接有2个调试器的构成,但是只要是2个以上,连接几个调试器都可以。此时,程序执行装置控制部2保持相当于连接到模拟器10的调试器的数量的数量的连接请求标志,各个连接请求标志保持来自对应的调试器的连接请求。为此,如果有2个以上的调试器连接到模拟器10,则。

50、能够以本发明所公开的内容相同的方法,实现同样的效果。0159连接请求标志21保持来自调试器11的连接请求或切断请求。在此,连接请求标志21例如作为初始值被设定为0。0160并且,由程序执行装置控制部2来变更连接请求标志21的设定值。0161也就是说,接受来自调试器11的连接请求,连接请求标志21被设定为1,或接受切断请求,而连接请求标志21被设定为0,从而保持来自调试器11的连接请求或切断请求。说明书CN101990662A11/15页140162另外,连接请求标志22与连接请求标志21同样,因此省略其说明。0163程序执行装置控制部2从连接到模拟器10的调试器11或调试器12接受连接请求或切。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1