[发明专利]计算机程序除错系统及方法无效
申请号: | 200710203516.6 | 申请日: | 2007-12-28 |
公开(公告)号: | CN101470661A | 公开(公告)日: | 2009-07-01 |
发明(设计)人: | 赖庆育 | 申请(专利权)人: | 鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518109广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算机 程序 除错 系统 方法 | ||
技术领域
本发明涉及一种计算机程序处理系统及方法,特别是关于一种计算 机程序除错系统及方法。
背景技术
程序除错的目的是了解计算机程序执行的过程,以便纠正计算机程 序执行过程中出现的错误。目前Intel中央处理器提供一种除错方法, 该方法利用中央处理器内部的最后分支追踪寄存器(Last Branch Trace MSR)记录计算机程序执行的过程。该最后分支追踪寄存器只适用于 真实模式(real mode)、保护模式(protected mode)及虚拟86模式 (V86 mode)。当中央处理器在系统管理模式(System Management Mode,SMM)时,就不能利用最后分支追踪寄存器进行计算机程序的 除错。
发明内容
鉴于以上内容,有必要提出一种系统管理模式下的计算机程序除错 系统及方法。
一种计算机程序除错系统,用于中央处理器工作在在系统管理模式 下对原程序的执行过程进行追踪,该系统包括:追踪标志设置模块,用 于将中央处理器的标志寄存器的追踪标志设置为“1”;寄存器入栈模 块,用于在执行完原程序的一条指令后将除错过程中需要使用的寄存器 的值压入堆栈;操作码读取模块,用于读取原程序的下一条指令的操作 码并判断该下一条指令的类型;标志出栈处理模块,用于当原程序的下 一条指令是标志出栈指令时,将该标志出栈指令将要储存的追踪标志设 置为“1”;转移处理模块,用于当原程序的下一条指令是控制转移指 令并满足转移条件时,计算转移的起始地址及目的地址,并储存该起始 地址及目的地址;及寄存器出栈模块,用于将压入堆栈的寄存器的值弹 出堆栈并返回原程序。
一种计算机程序除错方法,用于中央处理器工作在系统管理模式下 对原程序的执行过程进行追踪,该方法包括步骤:(a)将中央处理器的 标志寄存器的追踪标志设置为“1”;(b)在执行完原程序的一条指令后 将除错过程中需要使用的寄存器的值压入堆栈;(c)读取原程序的下一 条指令的操作码并根据该操作码判断该下一条指令的类型;(d)若原程 序的下一条指令是标志出栈指令,则将该标志出栈指令要储存的追踪标 志设置为“1”,转到步骤(g);(e)若原程序的下一条指令是控制转移指 令且满足转移条件,则计算转移的起始地址及目的地址,否则直接转到 步骤(g);(f)储存所述起始地址及目的地址;及(g)将压入堆栈的寄存器 的值弹出堆栈并返回原程序。
本发明涉及的计算机程序除错系统及方法,其利用第1号中断及通 过分支追踪方法记录程序的执行过程,从而实现了在系统管理模式下的 计算机程序除错。
附图说明
图1为本发明程序除错系统的运行环境示意图。
图2为本发明程序除错系统的分支追踪方法示意图。
图3为本发明程序除错系统较佳实施例的功能模块图。
图4为本发明程序除错方法较佳实施例的流程图。
图5为堆栈中的标志寄存器、中断返回地址的示意图。
图6为堆栈中的调用返回地址、标志寄存器及中断返回地址的示意 图。
图7为堆栈中的调用返回地址、标志寄存器、中断返回地址及其他 寄存器的示意图。
图8为条件短转移指令、条件近转移指令的机器码、操作码、助记 符、转移条件及对应的目的地址、起始地址的示意图。
图9为无条件短转移指令、无条件近转移指令、无条件远转移指 令、近调用指令、远调用指令、近返回指令、远返回指令的机器码、操 作码、助记符、转移条件及对应的目的地址、起始地址的示意图。
具体实施方式
如图1所示,是本发明计算机程序除错系统的运行环境示意图。该 计算机程序除错系统11运行在计算机1上,当计算机1中的中央处理 器(CPU,在图中未画出)工作在系统管理模式下时,计算机程序除错 系统11对计算机1上运行的原程序12的执行过程进行追踪。CPU内 部有多个寄存器,如标志寄存器(Flags)、代码段寄存器(CS)、指 令指针寄存器(IP)、计数寄存器(CX)(在图中均未画出)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司,未经鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710203516.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:承载装置及利用该装置进行双面贴装电路板制作的方法
- 下一篇:变焦镜头