Ollydbg之断点设置

本文详细介绍了Ollydbg的断点功能,包括INT3断点、内存断点和硬件断点的设置与作用。通过实验,展示了如何在调试过程中使用这些断点来拦截程序执行,帮助理解调试器在软件调试中的重要性。实验环境为Windows 7系统及Ollydbg 1.10汉化版、2.01原版。
摘要由CSDN通过智能技术生成

预备知识

1.断点

断点,是调试器的核心功能之一,可以让程序中断在需要的地方,从而方便调试器对程序进行跟踪与分析。调试器对断点有记忆功能,可以在一次调试中设置断点,下一次可以让程序自动运行到上一次设置断点的位置中断下来。
调试器的断点功能是为了方便程序员调试程序,以检测程序的逻辑完整性和功能完整性。比如在几百行的程序源代码中,编译运行的过程中出错了,如何快速定位到源代码中的错误代码,此时可以通过程序员手工查找;但是在实际的工程项目中,源代码动不动就是成千上万行的,这时如果出错,手工定位错误代码就太耗时耗力了,因此需要借助调试器来定位错误代码。
常用的断点包括:INT3断点、条件断点、消息断点、内存断点、硬件断点等。

2.INT3断点

这是在OD中最常用的断点类型,通过快捷键F2即可在相应代码处设置INT3型断点。INT3断点将代码的第一个字节,用一个特殊命令INT3(调试器陷阱标志,十六进制表示为0xCC)来替代。可以在反汇编窗口中选中要设断点的指令行并通过快捷键F2就可以设定一个此类型的断点。也可以在快捷菜单中设置其他快捷键。当再次按下F2键时,断点将被删除。注意,程序将在设断指令被执行之前中断下来。
INT3断点的设置数量是没有限制的。当关闭被调试程序或者调试器的时候,OD将自动把这些断点保存到硬盘中,最好不要在数据段或者指令的中间设置这种断点,如果在代码段以外设置断点,OD将会给出一个警告。可以在安全选项[Security options]中永远关闭这个提示,在某些情况下调试器会插入自带的临时INT3断点。

3.内存断点

OD每一时刻只允许有一个内存断点。可以在反汇编窗口、CPU窗口、数据窗口中选择一部分内存,然后使用快捷菜单设置内存断点。如果有以前的内存断点,将被自动删除。可以有两个选择:在内存访问(读,写,执行)时中断,或内存写入时中断。设置此类断点时,OD将会改变所选部分的内存块的属性。在与80x86兼容的处理器上将会有4096字节的内存被分配并保护起来。即使仅仅选择了一个字节,OD也会将整个内存块都保护起来。这将会引起大量的错误警告,请小心使用此类断点。某些系统函数(特别是在Windows95/98下)在访问受保护的内存时不但不会产生调试事件反而会造成被调试程序的崩溃。

4.硬件断点

(仅在Windows ME,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值