程序调试装置、程序调试方法制造方法及图纸

技术编号:2866223 阅读:163 留言:0更新日期:2012-04-11 18:40
提供一种减轻调试作业者的负担、提高调试作业的效率的程序调试装置。在程序调试装置中,在停止命令为执行条件不成立的带执行条件的命令时,继续执行调试对象程序直到即将到达下一个执行的执行条件成立的带执行条件的命令或者下一个执行的没有执行条件的命令。

【技术实现步骤摘要】

本专利技术涉及一种通过任意地执行或停止程序并显示程序的执行状态,来支持软件开发者的程序开发的程序调试(debug)装置,特别涉及以带有执行条件的命令的处理程序(processor)为对象的调试装置。
技术介绍
暂时停止在处理器上动作的程序的执行并显示程序的执行状态的调试装置对于程序开发是有用的。程序调试装置在程序的任意命令中设置断点(break point)临时停止程序。作为与此有关的先行技术文献,有专利文献1。该专利文献1所公开的中断控制装置(程序调试装置)为具有判断带执行条件的命令的条件是否成立的判断单元,根据该判断结果控制中断插入的发生的结构。这里,所谓带执行条件的命令是指包括指定执行条件的命令,在执行条件不成立的时候不执行,只有在执行条件成立的时候才执行的命令。并且,指定处理器中的状态寄存器中的1个标记(flag)作为执行条件。即使是与断点一致的命令,如果是执行条件不成立的带执行条件的命令,上述专利文献1的中断控制装置也可以使中断插入不发生。其结果,可以使程序不在该带执行条件的命令下停止。由此,在调试动作不需要的地方可以不中断程序。日本专利特开2001-154877号公报如果采用上述以往的技术,在设定断点时,必须对所有的断点指定是否要评价中断对象命令的执行条件,如果不充分注意,则可能发生在调试作业者希望停止的地方不停止程序的可能。因此增加了调试作业者的负担,存在调试作业的效率低的问题。例如,需要分别对断点指定是否要评价执行条件的作业。并且,在因带执行条件的命令而停止的时候,可能会发生调试作业者每次都要确认“该带执行条件的命令是哪一个断点?是否真的是评价执行条件指定的?是否真的是由于执行条件的成立而停止的?”这样多余的作业的情况。并且,在调试装置中,还存在在将停止的带执行条件的命令的位置显示在程序表中的时候,调试作业者不能立即判断“该带执行条件的命令是否真的是指定了评价执行条件,是否真的是由于执行条件的成立而停止的”这样的问题。
技术实现思路
本专利技术的目的就是要提供一种减轻调试作业者的负担、提高调试作业的效率的程序调试装置。为了解决上述问题,本专利技术一种程序调试装置,用来调试包含带执行条件的命令的程序,其特征在于,包括以下单元对整个该程序判断因与上述执行条件无关的停止条件而停止的命令是否为带执行条件的命令的命令判断单元;当判定为是带执行条件的命令时,判断该执行条件是否成立的条件判断单元;当判定为执行条件成立时,将该命令决定为停止命令;当判定为执行条件不成立时,将在该命令之后被执行的命令决定为停止命令的决定单元。如果采用该结构,由于在对调试对象程序的执行没有影响的命令下不停止,因此能起到提高调试作业者的调试作业的效率的作用。例如在调试作业者进行单步执行并确认调试对象程序的动作的情况下,不用确认带执行条件的命令的执行条件是否成立,能够跟踪调试对象程序的举动。这里,程序调试装置也可以采用还包括当上述条件判断单元判定为执行条件不成立时,控制程序执行直到即将到达最早执行的命令中执行条件成立的命令或者没有执行条件的命令的再执行单元的结构。如果采用该结构,即使调试对象程序正在执行通过命令也能够停止调试对象程序,由于调试作业者能够在任何地方进行调试对象程序的强制停止操作,因此能够提高调试作业效率。以下,多次提到的“执行命令”是指“执行条件成立的命令或没有执行条件的命令”。多次提到的“执行下一个命令”是指“下一个最早执行的命令”。上述决定单元计算后面最早被执行的命令中执行条件成立的命令或者没有执行条件的命令的地址,将算出的地址决定为停止命令的命令地址。如果采用这样的结构,由于在调试对象程序在通过命令下停止之后,能够省略再执行调试对象程序的辅助操作,能够缩短调试作业者的调试作业时间,因此能够提高调试作业效率。上述再执行单元也可以采用包括当命令判断单元判定为带执行条件的命令时,将中断对象命令为带执行条件的命令并且仅在执行条件成立时中断程序的执行这样的执行条件的中断,设定到因上述停止条件而停止的命令的地址中的带执行条件的中断设定单元;进行通过执行执行条件成立的带执行条件的命令或者没有执行条件的命令的步骤而中断的,带条件的单步执行的带条件单步执行单元;在上述带条件单步执行单元进行完带条件的单步执行后,解除上述带执行条件的中断设定单元设定的中断的中断解除单元的结构。如果采用该结构,由于不需要解析“调试对象程序是否是在执行条件不成立的带执行条件的命令下停止?”的处理,减轻了依赖调试对象程序动作的处理程序的命令设置的处理,因此使上述第1程序调试装置与多种处理程序相对应变得容易。因此削减了上述第1程序调试装置的开发工时。程序调试装置也可以采用还包括保持使用者能够设定的标记的标记保持单元;当上述标记保持单元的标记为预定的值时,禁止上述命令判断单元、条件判断单元和决定单元的动作的禁止单元的结构。如果采用这样的结构,调试作业者能够根据进行关注程序计数器的变更的命令执行流程(フロ一)的调试作业和关注执行的命令的逻辑调试作业中的哪一个作业,灵活地改变调试作业的种类,提高了调试作业的效率。并且,调试作业者在将上述标记复位,进行关注程序计数器的变更的命令执行流程的调试作业时,在命令执行流程通过了设定了断点的地方时,能够使调试对象程序一定停止,自动地使断点更有效地进行命令执行流程的调试作业。由此,提高了调试作业的效率。程序调试装置也可以采用包括根据显示单元中程序的显示状态变更标记保持单元中的标记的值的标记变更单元的结构。当作为上述显示状态而显示源程序的显示窗口时,上述标记变更单元将上述标记设定为上述预定的值;当作为上述显示状态源程序的显示窗口没有显示时,将上述标记设定为上述预定值以外的值。当作为上述显示状态而选择了源程序的显示窗口时,上述标记变更单元将上述标记设定为上述预定的值;当作为上述显示状态没有选择源程序的显示窗口时,将上述标记设定为上述预定值以外的值。当作为上述显示状态而选择了源程序的显示窗口时,上述标记变更单元将上述标记设定为上述预定的值;当作为上述显示状态而选择了汇编程序的显示窗口时,将上述标记设定为上述预定值以外的值。如果采用上述结构,即使使用者不特别明确地设定标记,在使用者关注源程序时,不会因执行条件不成立的命令而停止,能够掌握程序在源代码的什么位置上停止而不会误解。并且,在使用关注汇编程序代码时,由于所有的命令停止了,因此容易掌握读出了哪个汇编程序代码并处于命令流水线中。上述命令判断单元也可以对由于不通知使用者而在程序调试装置的管理下设定的中断,即与执行条件成立与否无关的临时中断而停止的命令进行上述判断。如果采用该结构,由于在进行C语言级的单步执行或持续执行直至函数结束的返回执行时,不会与临时中断的命令无关而通过临时中断执行调试对象程序,因此能够在调试作业者期待中断的地方停止,并且不判断设定临时中断的命令的种类也可以,所以减轻了调试装置开发中的复杂程度,削减了调试装置开发的工时。上述程序调试装置也可以采用还包括保持使用者能够设定的规定数的规定数保持单元;当上述条件判断单元判定为执行条件不成立时,如果由于上述停止条件而停止的命令中后续有上述规定数以上的执行条件不成立的带执行条件的命令,则上述决定单元将该停止的命令决定为停本文档来自技高网
...

【技术保护点】
一种程序调试装置,用来调试包含带执行条件的命令的程序,其特征在于,包括以下单元:对整个该程序判断因与上述执行条件无关的停止条件而停止的命令是否为带执行条件的命令的命令判断单元;当判定为是带执行条件的命令时,判断该执行条件是否 成立的条件判断单元;当判定为执行条件成立时,将该命令决定为停止命令;当判定为执行条件不成立时,将在该命令之后被执行的命令决定为停止命令的决定单元。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:柴田耕作
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1