The invention discloses a method and a device for detecting the running of a program, which can accurately detect the specific position of the program flying. The method comprises the following steps: contain executable code in a program; judgment associated with the code within the program counter address is calculated beforehand address range; and in the program counter address in addition to the prior computation of the address ranges, determine the program running. According to the embodiment of the invention, when the program runs, the program can detect the flight of the program accurately, and notify the programmer in time to run the program and execute the resume, thereby improving the efficiency of the program development.
【技术实现步骤摘要】
本专利技术涉及调试过程中程序跑飞(program runout)的检测,具体涉 及一种程序跑飞检测方法及其设备,它能够准确检测并向用户通知程序 跑飞。
技术介绍
在程序开发过程中,需要对开发的程序进行调试,以便发现程序能 否正常运行。所谓程序跑飞就是程序计数器(PC: program counter)指 针因为某种原因没有按照预定的程序变更,或者PC指针指向一个不确 定的或者根本就没有存放用户代码的程序存贮空间,造成PC指针根本 无法恢复到用户代码空间之内。出现程序跑飞之后,通常是系统复位, 重新开始执行程序。用来检测程序跑飞的一种解决方案是判断执行的代码的地址是否在 ROM的地址空间范围之内,例如0000H FFFFH。如果在ROM的地址 空间范围之内,则认为没有跑飞,否则认为出现了程序跑飞。但是,众 所周知,ROM中既存储有程序代码,又存储有数据代码,还存在一些未 使用的空间,如果执行的代码的所对应的地址在ROM内部,但是并没 有按照想要的情况运行,则不容易判断出程序是否真正跑飞,或者说用 户可能注意不到程序跑飞。在这种情况下,只能通过程序执行的结果来判断程序是否跑飞,例 如死机等等。 一旦出现这样的情况,程序员无法确定到底是程序的什么 地方出了问题,只能以枚举的形式或者试错的形式来发现问题,这要消 耗大量的时间,并且并不能准确找到程序跑飞的位置和原因。用来检测程序跑飞的另一种解决方案是利用'看门狗',它可以是软 件形式的或者硬件形式的。'看门狗(watchdog),是通过要求执行的程 序定期发送确认信号或者其他信息来判断程序是否跑飞。例如按照预定的 ...
【技术保护点】
一种检测程序跑飞的方法,包括步骤: 执行程序中包含的代码; 判断与代码相关的程序计数器地址是否在事先计算的地址范围之内;以及 在程序计数器地址在事先计算的地址范围之外的情况下,确定程序跑飞。
【技术特征摘要】
1、一种检测程序跑飞的方法,包括步骤执行程序中包含的代码;判断与代码相关的程序计数器地址是否在事先计算的地址范围之内;以及在程序计数器地址在事先计算的地址范围之外的情况下,确定程序跑飞。2、 如权利要求l所述的方法,还包括在程序执行之前计算与该程序中的代码相关的地址范围,并以与所 述代码相对应的形式存储所计算的地址范围。3、 如权利要求l所述的方法,还包括 在程序执行过程中,记忆程序中的代码的执行履历。4、 如权利要求1到3之一所述的方法,还包括在确定程序跑飞的情况下,通知用户程序跑飞。5、 如权利要求4所述的方法,还包括 向用户显示到程序跑飞的位置之前的执行履历。6、 一种检测程序跑飞的方法,包括步骤 执行程序中包含的代码;基于与所执行的代码的程序计数器地址,尝试从包括了至少部分代码的调试信息的文件中取得相应的调试信息;在取得相应调试信息的情况下,确定程序跑飞。7、 如权利要求6所述的方法,还包括在程序执行过程中,记忆程序中的代码的执行履历。8、 如权利要求6到7之一所述的方法,还包括在确定程序跑飞的情况下,通知用户程序跑飞。9、 如权利要求8所述的方法,还包括向用户显示到程序跑飞的位置之前的执行履历。10、 一种检测程序跑飞的设备,包括 执行程序中包含的代码的装置;检测装置,判断与代码相关的程...
【专利技术属性】
技术研发人员:谢辉,
申请(专利权)人:松下电器产业株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。