一尘不染

可能会陷阱写入地址(x86-Linux)

linux

我希望能够检测到何时写入内存地址-例如通过设置附加到中断的回调。有人知道吗?

我希望能够在运行时执行此操作(可能gdb具有此功能,但是我的特定应用程序导致gdb崩溃)。


阅读 219

收藏
2020-06-07

共1个答案

一尘不染

如果要拦截对某个地址范围的写入,则可以使用mprotect()将有问题的内存标记为不可写,并安装信号处理程序sigaction()以捕获生成的SIGSEGV,进行日志记录或其他操作,然后将页面再次标记为可写。

2020-06-07