[发明专利]一种在源程序层次实现运算符单步调试的方法无效
申请号: | 200910273364.6 | 申请日: | 2009-12-23 |
公开(公告)号: | CN101794252A | 公开(公告)日: | 2010-08-04 |
发明(设计)人: | 张曙光 | 申请(专利权)人: | 张曙光 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 武汉天力专利事务所 42208 | 代理人: | 严彦;冯卫平 |
地址: | 430072 湖北省武汉市*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 源程序 层次 实现 运算 符单步 调试 方法 | ||
技术领域
本发明涉及了计算机程序调试技术领域,主要是一种在源程序层次实现运 算符单步调试的方法。
背景技术
源程序调试是用来帮助用户在源程序层次上跟踪程序的执行流程,定位程 序故障的一个常用手段和方法。
目前的源程序调试器,在编译源程序时,记录和存储源程序语句的源程序 文件的源文件名和行号,在源程序层次调试程序时,如果执行调试器的单步命 令或通过设置断点方式,可以从程序的开始运行被调试程序,使执行进程暂停 在这个程序的第一行有效代码中,编辑窗口中的这行源代码的开始处用一个箭 头来标记执行到的这一代码行。例如Microsoft Visual C++调试器就是用一个黄 色的箭头来标记当前将要执行的代码行。
如果继续执行调试器的单步命令,调试器执行这个程序当前代码行,然后 执行进程又暂停下来,编辑窗口中的这行源代码开始处的箭头就会移动到下一 个代码行。
如果每行代码是一个源程序语句,用户就可以在源程序语句级别对程序的 执行流程进行跟踪,查看执行过程中各个变量的值。
在源程序代码的编写时,一条语句可以包含多个表达式,每个表达式可以 是多个运算符和其操作数的有效组合。
在调试程序时,操作者有时希望能够在源程序层次可视地跟踪表达式中各 个运算符和它的相应操作数求值计算的执行流程,或者在源程序层次可视地跟 踪语句中多个表达式求值计算的执行流程。而目前的源程序调试器在解决这类 问题时存在困难。
发明内容
本发明的目的是针对上述现有源程序调试技术缺陷,提供一种在源程序层 次实现运算符单步调试的方法。
实现本发明目的采用的技术方案为:在解析或编译源程序时,记录和存储 表达式中运算符和相应操作数在源程序中的位置数据;当用户使用运算符单步 调试命令时,调试器执行以下步骤,
步骤1,当用户使用运算符单步调试命令时,启动执行调试对象程序进程, 通过调试对象程序进程实现以下步骤1.1和步骤1.2,
步骤1.1,判断调试器是否执行调试对象程序进程至一个运算符,若是则对于调 试器执行调试对象程序进程所至的运算符,获得已存储的该运算符和相应操作 数的位置数据;
步骤1.2,根据位置数据把该运算符和相应操作数加上标记,并把加上标记后的 运算符和相应操作数的源程序代码在调试器窗口中显示给用户;
步骤2,在步骤1.2执行完毕后暂停调试对象程序进程,等待用户要求继续 执行运算符单步调试命令;
步骤3,当用户要求继续执行运算符单步调试命令时,执行加上标记后的运 算符和相应操作数的求值计算,计算完成后取消标记;然后继续执行调试对象 程序进程,返回至步骤1.1循环执行以实现对下一个运算符单步调试,直到步骤 1.1判断出调试器执行调试对象程序进程至没有运算符时为止。
而且,所述表达式中运算符和相应操作数在源程序中的位置数据,包括这 个表达式所在的源程序的源文件名,运算符和相应操作数在源程序文件窗口中 的行号,运算符的字符串在源程序文件窗口中第一个字符列号和最后一个字符 列号,相应操作数的字符串在源程序文件窗口中第一个字符列号和最后一个字 符列号。
而且,所述标记包括给运算符的字符串和操作数的字符串加上背景色亮条 的高亮显示。
而且,所述标记包括给运算符的字符串和操作数的字符串颜色反转显示。
而且,所述标记包括给运算符的字符串和操作数的字符串改变字符的字体 颜色的高亮显示。
而且,所述标记包括给运算符的字符串和操作数的字符串加上下划线。
而且,所述标记包括给运算符的字符串和操作数的字符串加上字符边框。
而且,所述标记包括修改运算符的字符串和操作数的字符串的字符字体、 字符字号或字符字形的高亮显示。
采用本发明,能够在源程序层次给当前将要执行的运算符和操作数加上标 记,能够在源程序层次可视地跟踪表达式中运算符和它的操作数求值计算的执 行流程,能够在源程序层次可视地跟踪语句中多个表达式求值计算的执行流程。 本发明支持用户更快速准确地定位程序故障,实施简便,效果显著。
附图说明
图1为本发明中在源程序层次的运算符单步调试方法实施例的软件流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于张曙光,未经张曙光许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910273364.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双余度航电综合任务管理计算机系统
- 下一篇:适用于光电跟踪仪的航行锁定装置