软件调试学习笔记——软中断
2013-09-11 17:51
309 查看
软件中断的原理 :
当CPU执行到int 3指令时,在指令的执行过程产生断点异常,并转去执行异常处理例程的过程;
断点的设置:
当我们下了一个软件中断后,编译器将断点所在的第一个字节替换成cc 也就是int 3的机器码;然后将控制权交还给用户。
注意:
1、调试器在落实断点时,不管所在位置的指令是几个字节,它都替换一个字节。
2、因为有断点在,所以被调试程序在断点位置的那条指令还没有执行。按照程序指针总指向即将执行的的那条指令的原则,应该把程序指针指向这条要执行的指令,也就是倒退一个字节,指向本来指令的起始地址。
当CPU执行到int 3指令时,在指令的执行过程产生断点异常,并转去执行异常处理例程的过程;
断点的设置:
当我们下了一个软件中断后,编译器将断点所在的第一个字节替换成cc 也就是int 3的机器码;然后将控制权交还给用户。
注意:
1、调试器在落实断点时,不管所在位置的指令是几个字节,它都替换一个字节。
2、因为有断点在,所以被调试程序在断点位置的那条指令还没有执行。按照程序指针总指向即将执行的的那条指令的原则,应该把程序指针指向这条要执行的指令,也就是倒退一个字节,指向本来指令的起始地址。
相关文章推荐
- [软件调试学习笔记]WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程
- [软件调试学习笔记]防止栈缓冲区溢出的基于Cookie的安全检查机制
- [软件调试学习笔记]防止栈缓冲区溢出的基于Cookie的安全检查机制
- 个人学习笔记---软中断(下半部)和软件中断(系统调用)的区别
- [软件调试学习笔记]防止栈缓冲区溢出的基于Cookie的安全检查机制
- [软件调试学习笔记]防止栈缓冲区溢出的基于Cookie的安全检查机制
- linux--基础学习笔记--软件安装
- 【Hibernate学习笔记】软件的模型
- 软件测试学习笔记之等价类划分
- Linux命令学习笔记(更新:shell调试)
- 学习笔记 --- LINUX 驱动调试之printk
- 汇编学习笔记-实验5 编写,调试具有多个段的程序[1]
- 软件调试笔记23 - 编译器的调试支持
- 软件构造系列学习笔记(5.1)————可复用性的度量,形态和外部观察
- Java学习笔记二:Android Studio环境调试
- 调试的艺术学习笔记--程序崩溃处理(段错误)
- 软件架构学习笔记(一)
- 学习笔记 --- LINUX 应用调试之添加系统调用
- 软件构造系列学习笔记(5.3)————可复用性的设计模式
- [core java学习笔记][第十一章异常断言日志调试]