行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2023-05-29 13: 46: 21
Page breakpoints are memory access breakpoints that can be set to detect when the application reads,writes,or executes code/data in a specific memory range.Page breakpoints are very similar to hardware breakpoints but there is no limitation on the number of page breakpoints that can be set or their size,in contrast with normal hardware breakpoints.
Memory access breakpoints are implemented by removing page permissions according to the specified type of the page breakpoint to be added(for example,for a write page breakpoint,the write permission will be removed from the page).When the access violation exception occurs because the application tries to access the specific memory region,IDA reports a breakpoint hit.
As page breakpoints can be set for a small part of a memory page but the permissons of the whole page must be changed,page breakpoints can slow down the debugger because many access violation exceptions may be generated.If the application accesses memory outside of the desired range but on the same page,the generated exception must be silently handled and the application resumed.Specifically,page breakpoints in the code segment can slow down the debugger very much.
Memory access breakpoints are supported since IDA version 6.3 for the following debuggers:
Win32
Page breakpoints are supported for both local and remote debugging
of 32 and 64bit applications.
WinDbg
Page breakpoints are supported only for local debugging of 32-bit applications.
Bochs
Page breakpoints are supported for both of 32 and 64bit applications.
Page breakpoints in the bochs debugger are just like normal hardware
breakpoints but with no limit on the number of breakpoints or their size.
Please note that hardware breakpoints in the bochs debugger occur AFTER the
instruction is executed while regular page breakpoints occur BEFORE the
instruction is actually executed.
See also Breakpoints list
Add breakpoint
Delete breakpoint
Edit breakpoint
Breakpoints submenu.
中文翻译:
页面断点是内存访问断点,可以设置为检测当应用程序以特定方式读取、写入或执行代码/数据时内存范围。页面断点与硬件断点非常相似设置的页面断点数量没有限制设置或它们的大小,与正常的硬件断点形成对比。
内存访问断点是通过根据删除页面权限来实现的到要添加的页面断点的指定类型(例如,对于写页面断点,写权限将从页面中删除)。
当应用程序发生访问冲突异常时尝试访问特定的内存区域,IDA报告断点命中。
由于可以为内存页面的一小部分设置页面断点,但必须更改整个页面的权限,页面断点会变慢关闭调试器,因为可能会生成许多访问冲突异常。如果应用程序访问所需范围之外的内存但在
同一页面,生成的异常必须静默处理,并且申请恢复。具体来说,代码段中的页面断点可以减慢调试器非常失望。
从IDA 6.3版本开始支持以下内存访问断点
调试器:
Win32
调试都支持页面断点
32位和64位应用程序。
WinDbg
页面断点仅支持32位应用程序的本地调试。
博克斯
32位和64位应用程序都支持页面断点。
bochs调试器中的页面断点就像普通硬件一样
断点,但对断点的数量或大小没有限制。
bochs调试器中的硬件断点发生在
指令在常规页面断点发生之前执行
指令实际执行。
另见断点列表
添加断点
删除断点
编辑断点
断点子菜单。
展开阅读全文
︾
读者也喜欢这些内容: