CN1648873A - 断点调试功能的实现方法 - Google Patents
断点调试功能的实现方法 Download PDFInfo
- Publication number
- CN1648873A CN1648873A CN 200510037710 CN200510037710A CN1648873A CN 1648873 A CN1648873 A CN 1648873A CN 200510037710 CN200510037710 CN 200510037710 CN 200510037710 A CN200510037710 A CN 200510037710A CN 1648873 A CN1648873 A CN 1648873A
- Authority
- CN
- China
- Prior art keywords
- microprocessor
- debugging
- break point
- instruction
- breakpoint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
通过在微处理器的指令码中嵌入标志位,实现指令级的断点调试功能。通过判别指令码中所包含的标志位,微处理器可以在取指阶段、译码阶段或执行阶段进入相应的断点调试模式,从而提高了程序调试的效率,降低了微处理器硬件实现调试功能的电路规模和复杂度。断点标志可以由指令码的一个位组成,或者由指令码的若干位组合而成。
Description
技术领域
本发明是关于在微处理器中实现断点调试功能的方法,提出了一种高效、低复杂度的,在微处理器中实现指令级调试功能的方法。基于这种方法实现的断点调试功能能提高软件开发的效率。
背景技术
众所周知,处理器按照一定的顺序执行指令码。在针对一个处理器进行软件开发时,常常用到断点调试技术,即开发人员在某个指令或某个语句处设置断点标志,当微处理器执行到该条指令时,因为遇到断点而暂停执行,进入待命状态,必须等到外部调试接口的继续运行命令或者收到复位信号,才会重新开始执行指令。
更进一步说,处理器必须遇到断点才会进入断点调试模式,通常产生这个必要条件的方式有两种,一种是在调试专用的寄存器中写入断点地址,通过地址比较来生成特定的断点信号,这个断点信号通知微处理器暂停指令的执行,进入断点调试模式。这种利用寄存器存贮断点地址的方法非常消耗资源,能够存贮的断点地址数目有限,而且消耗的硬件资源较多。另一种方式是,微处理器设计有专用的外部调试命令输入接口,微处理器通过判别调试命令/状态接口的信号状态来决定是否进入断点调试模式。当处于微处理器外部的调试模块通过调试接口发现程序计数器到达断点地址时,立即产生断点命令,并发送到微处理器的调试命令输入接口,通知微处理器进入断点调试模式。这种外部的调试命令接口对外部调试器的要求很高,外部调试器必须能够实时获取处理的执行状态和程序计数器的位置。
因此,我们提出一种在指令码中包含特定的标志位,微处理器通过判别标志位来决定是否进入断点模式,从而实现断点调试功能的方法,以提高调试的效率,减少微处理器硬件资源的消耗,并降低对外部调试器的要求。
发明内容
本发明公开了一种在指令码中包含标志位来实现断点调试功能的方法。微处理器按照一定顺序执行指令码。微处理器在取指阶段、译码阶段或执行阶段检测指令码中是否包含有效的断点功能标志位,以及是何种断点标志,来产生相应得判决信号。根据判决信号,来决定下一步操作。如果断点标志有效,则处理器进入相应的断点调试模式。并且,微处理器暂停程序计数器的更新,从而中止正常指令的执行,使处理器进入待命阶段。微处理器处于暂停状态时,可以通过调试接口读取微处理器内部功能寄存器和状态寄存器的具体数据,以及当前程序计数器的值。根据这些数据,可以辅助软件程序的修正和改进。
本发明公开的断点调试功能的实现方法,提供了一种能提高软件调试效率、降低外部调试器要求、减少处理器资源消耗的途径。
附图说明
图一给出了本发明所公开的实现微处理器断点调试功能的两种指令码结构范例。
图二给出了本发明所公开的实现微处理器的断点调试功能的一种处理流程图范例。
具体实施方式
本发明提供了一种可以使处理器尽可能简单的实现指令码级断点调试功能的方法,以便可以简化处理器外部的调试接口模块,并使指令调试效率进一步提高。
图一给出了本发明所公开的实现微处理器断点调试功能的两种指令码结构范例100。
指令码102给出一个1位断点标志的范例。指令码102由14位二进制数据组成,包括1位断点标志104和13位其他功能编码106。假设断点标志104为“1”表示断点有效,当微处理器检测到有效的断点标志时,立即暂停执行指令,进入断点调试模式,若断点标志无效,则正常执行指令功能。
指令码112给出一个多位断点标志的范例,在这里是3位组合断点标志。指令码112由14位二进制数据组成,包括3位断点标志114和11位其他功能编码116。假设断点标志114等于“101”时表示断点有效。当微处理器检测到有效的断点标志时,立即暂停执行指令,进入断点调试模式,若断点标志无效,则正常执行指令功能。
图二给出了本发明所公开的实现微处理器的断点调试功能的一种处理流程图范例200。指令210被取出之后,要经过译码阶段202,判决阶段204,然后进入执行阶段。首先,指令210进入译码阶段202,根据指令译码结果产生判决信号214,判决信号进入判决阶段204。然后,根据判决信号产生状态信号216并输出。如果判决结果为不包含断点调试标志位,则使能正常运行信号218,无效断点信号220,指令进入执行阶段206,在指令执行之后输出结果212。如果判决结果中包含断点调试标志位,则使能断点信号220,无效正常运行信号218,微处理器进入断点模式,微处理器在断点模式处于待命状态,等待重运行命令222。通常,这个重运行命令来自外部调试接口,首先,由软件调试平台给调试接口下达命令,调试接口再把命令送给微处理器。如果没有接收到重运行命令,则处理器停留在断点模式。此时,调试软件平台还可以通过调试接口读取微处理器的功能寄存器、状态寄存器的值,存储器中的数据以及程序计数器的值等等内部信息,以辅助软件功能的调试。直到微处理器收到期望的重运行命令之后,进入执行阶段206,执行被断点暂停掉的指令,并输出执行结果212。本发明所公开的微处理器断点调试功能的实现方法,消耗的内部寄存器少,易于实现,电路逻辑简单,响应快速,而且由于断点标志包含在指令码中,故可设置的断点数目最多可以达到与软件程序中的指令数目相同,从而很大程度的提高了电路的调试能力和调试效率,减少了软硬件的开销。
以上所述仅为本发明中涉及的指令码构造和相应处理流程的几个具体实施范例,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的原理下所完成的等效改变或修饰,均应包含在所述的申请专利范围内。
Claims (3)
1.一种通过在指令码中嵌入标志位实现断点调试功能的方法,其特征在于,指令码中包含特定的标志位,该标志位决定微处理器是否进入断点调试模式;该标志位可以由指令码中的一个位组成,也可以是指令码中的几个位的组合而成。
2.如权利要求1所述方法,其特征在于,微处理器根据指令码中包含的断点调试标志位产生一个暂停信号,该暂停信号指示程序计数器(PC)停止更新,从而暂停正常指令的执行。
3.如权利要求1所述方法,其特征在于,微处理器的不同指令码均可以在其中包含用于实现断点调试功能的标志位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510037710 CN1648873A (zh) | 2005-02-01 | 2005-02-01 | 断点调试功能的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510037710 CN1648873A (zh) | 2005-02-01 | 2005-02-01 | 断点调试功能的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1648873A true CN1648873A (zh) | 2005-08-03 |
Family
ID=34876182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510037710 Pending CN1648873A (zh) | 2005-02-01 | 2005-02-01 | 断点调试功能的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1648873A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100401267C (zh) * | 2006-09-01 | 2008-07-09 | 上海大学 | 微处理器的片上动态跟踪方法 |
WO2009109134A1 (zh) * | 2008-03-03 | 2009-09-11 | 华为技术有限公司 | 安装或升级方法和装置 |
CN101216802B (zh) * | 2008-01-16 | 2010-12-01 | 中兴通讯股份有限公司 | 一种交叉调试器中条件断点实现方法 |
CN101842781B (zh) * | 2007-11-02 | 2012-10-03 | Tti发明有限责任公司 | 用于策略使能编程的方法和系统 |
CN108970122A (zh) * | 2018-06-28 | 2018-12-11 | 广州华多网络科技有限公司 | 防止外挂的方法、装置、终端及存储介质 |
-
2005
- 2005-02-01 CN CN 200510037710 patent/CN1648873A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100401267C (zh) * | 2006-09-01 | 2008-07-09 | 上海大学 | 微处理器的片上动态跟踪方法 |
CN101842781B (zh) * | 2007-11-02 | 2012-10-03 | Tti发明有限责任公司 | 用于策略使能编程的方法和系统 |
CN101216802B (zh) * | 2008-01-16 | 2010-12-01 | 中兴通讯股份有限公司 | 一种交叉调试器中条件断点实现方法 |
WO2009109134A1 (zh) * | 2008-03-03 | 2009-09-11 | 华为技术有限公司 | 安装或升级方法和装置 |
CN108970122A (zh) * | 2018-06-28 | 2018-12-11 | 广州华多网络科技有限公司 | 防止外挂的方法、装置、终端及存储介质 |
CN108970122B (zh) * | 2018-06-28 | 2021-06-08 | 广州华多网络科技有限公司 | 防止外挂的方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7689867B2 (en) | Multiprocessor breakpoint | |
US7545381B2 (en) | Interruptible GPU and method for context saving and restoring | |
US7583268B2 (en) | Graphics pipeline precise interrupt method and apparatus | |
US7580040B2 (en) | Interruptible GPU and method for processing multiple contexts and runlists | |
US20080189529A1 (en) | Controlling instruction execution in a processing environment | |
CN101667154A (zh) | 用于改善片上仿真系统中高级语言的仿真速度的装置和方法 | |
CN107577593B (zh) | 使用执行单一步骤来诊断编码 | |
JPH0734178B2 (ja) | 変換コードを実行するための効果的エラー報告 | |
JP3776132B2 (ja) | マイクロプロセッサの改良 | |
CN1834940A (zh) | 一种通过在指令中嵌入计数器实现断点调试功能的方法 | |
CN1648873A (zh) | 断点调试功能的实现方法 | |
CN102331961B (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
CN102193860B (zh) | 微控制器在线调试电路及方法、微控制器 | |
CN100474266C (zh) | 一种用于数字信号处理器的调试系统及其调试方法 | |
EP4318211A1 (en) | Method for inspecting code under weak memory order architecture, and corresponding device | |
CN100390752C (zh) | 一种单步执行在片调试功能的方法及装置 | |
CN111506395B (zh) | 一种混合仿真的全数字虚拟运行环境的实现方法及装置 | |
CN114218067A (zh) | 一种异构众核软件调试装置及调试方法 | |
US7882336B2 (en) | Employing a buffer to facilitate instruction execution | |
CN100397351C (zh) | 计算机系统的除错装置及方法 | |
CN114036047A (zh) | 一种基于串口的固件即时调试器的实现方法 | |
CN1357833A (zh) | 应用pci界面的单步除错卡的装置及其方法 | |
CN112559336A (zh) | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 | |
CN1219254C (zh) | 一种用于51核ic卡的硬件仿真系统 | |
CN1558330A (zh) | 家电控制器嵌入式软件的仿真集成开发系统及其纯软件仿真执行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |