【发布时间】:2012-12-06 15:40:29
【问题描述】:
我目前正在研究调试器。我读过调试器有软件断点(apparently 这些是最常用的断点)。这些通过将操作码的第一个字节替换为 Int 3(操作码 0xcc)来工作。
我读过程序的文本(/code)段是只读的(如果这个段不需要只读的话,就是停止代码修改自己的指令,自我修改代码)。我的问题是调试器如何修改只读指令。我在这里错过了什么吗?对此的任何 cmets 或对此理论的指针表示赞赏。
谢谢。
【问题讨论】:
-
有些调试器能够在调试期间修改代码。以 Visual Studio 为例。我怀疑您不是在修改指令,而是在修改这些指令引用的值
标签: debugging breakpoints