我希望能够检测到何时写入内存地址-例如通过设置附加到中断的回调。有人知道吗?
我希望能够在运行时执行此操作(可能gdb具有此功能,但是我的特定应用程序导致gdb崩溃)。
如果要拦截对某个地址范围的写入,则可以使用mprotect()将有问题的内存标记为不可写,并安装信号处理程序sigaction()以捕获生成的SIGSEGV,进行日志记录或其他操作,然后将页面再次标记为可写。
mprotect()
sigaction()