调试断点的本质

调试断点的本质普通断点:依赖CPU的断点指令(x86为INT 3), CPU执行到断点指令中断下来,并以异常的方式报告给操作系统,再由操作系统将事件分发给调试

欢迎大家来到IT世界,在知识的湖畔探索吧!

普通断点:

依赖CPU的断点指令(x86为INT 3), CPU执行到断点指令中断下来,并以异常的方式报告给操作系统,再由操作系统将事件分发给调试器

追踪点(tracepoint):

是普通断点的一种衍生,只是他会在调试器托管之后,自动运行,让开发者感觉不到被中断。他的思路是当执行到追踪点,系统向调试器报告断电事件,调试器收到之后检查内部的断点列表,发现是追踪点之后,便执行这个追踪点所定义的行为,通常来说是打印提示信息和变量值

条件断点:

其实本质仍然是普通断点,只是当用户触发断点的时候,调试器收到之后,做了额外处理 – 验证是否满足条件,满足就中断,不满足就继续执行。

PS:

INT 3是断点指令,即只能断点在软件代码层面(软件断点),像数据断点和IO断点都是硬件级别断点,通过DR0~DR7 8个寄存器来设置,最多一个会话支持4个硬件断点

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/30134.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信