【更多软件使用问题请点击亿道电子官方网站】
1、 文档目标
了解不同情况下,设置的断点的类型是什么。
2、 问题场景
在debug模式下,经常通过断点去调试代码。但是对于断点的类型不了解,不清楚断点为什么会被进入。不了解在不同语句或者情况下设置的断点是否有不同。
3、软硬件环境
1)软件版本:MDK 5.38a
2)电脑环境:Windows 11
3)外设硬件:无
4、解决方法
断点一共分为三种类型:Access Breakpoint(内存访问断点)、Execution Breakpoint(执行断点)、Conditional Breakpoint(条件断点)。
1)Access Breakpoint(内存访问断点):指定内存访问的模式(读、写、读写)。当读取、写入或访问特定地址时,内存访问断点暂停程序执行或执行命令。程序执行速度不会受到显著影响,因为只有在指定的访问事件发生时才会计算表达式。
2)Execution Breakpoint(执行断点):到达指定的代码地址时触发断点。代码地址必须指向CPU指令的第一个字节。
3)Conditional Breakpoint(条件断点):在设置该类型的断点的时候,需要设置一个条件表达式,当条件表达式为真时,断点就会触发。条件表达式在每条CPU指令执行完毕后都会重新计算,这会大大降低程序的执行速度。
————————————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
关于亿道电子
亿道电子技术有限公司(www.emdoor.cn)是国内资深的研发工具软件提供商,公司成立于2002年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。