c - ptrace在用户级还是内核级工作?

标签 c system-calls strace ptrace

我正在尝试使用 ptrace 实现数据流异常检测。经过一番研究后,我实现了一个类似于 strace 的程序。现在,我对此感到困惑,这就是 wiki 告诉我的有关系统调用的内容:

"System calls provide the interface between a process and the operating system"

当我使用 ptrace 修改进程的内存时,我是在用户空间还是内核空间上工作?我对此真的很困惑。

最佳答案

您正在一个单独进程的地址空间中进行操作;这需要内核的调解(和许可),因为独立进程通常不能影响彼此的地址空间。

关于c - ptrace在用户级还是内核级工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10100014/

相关文章:

hook - LD_PRELOAD 和 strace 有什么区别?

linux - 为什么 strace 会根据环境/内核(随机)忽略某些系统调用?

system-calls - strace如何工作?

c - 用于为索尼阅读器 prs900 编译/交叉编译 gcc 的 binutils

c - HashTable 如何将重复的单词只打印一次?

Gcc 裸属性留下一些尾随函数序言 asm 指令

linux - strace 'open' 在可执行文件的库中调用

带参数列表的 C 执行函数

c - 如何禁用几行代码的 GCC 警告

linux - 如何根据 'sys_seek' 计算 'sys_read'?