1.软件断点
但是软件断点的缺点就是,当我们调试自身代码的时候,如果有修改自身代码的操作,就会将我们提前好的int 0xCC,进行无意的修改,这样断点也就无法正常断下
2.硬件断点
所以相对于这一点,硬件断点的优点就显而易见
当我们在地址0xXXXXXXX设置一个断点,处理器不会关心地址所在储存的内容是什么,只会在那个位置中断,这样也就不怕当调试自身的代码的时候,硬件断点会被间接修改
硬件断点的好处还在于,软件断点只会在执行断点上下断,而硬件断点的优点就是可以在内存的读写上下断
而硬件断点的缺点就是只有4个硬件寄存器存储断点的地址
3.条件断点
条件断点的原理还是软件断点,只有在出发了某种条件的时候才会断下,例如某个API的参数是XXX的时候就会断下