- 论坛徽章:
- 0
|
5可用积分
我在Suse11和RHEL6.3上,尝试调用ptrace:
-
- #include <sys/ptrace.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <unistd.h>
- #include <linux/user.h> /* For constants
- ORIG_EAX etc */
- int main()
- {
- pid_t child;
- long orig_eax;
- child = fork();
- if(child == 0) {
- ptrace(PTRACE_TRACEME, 0, NULL, NULL);
- execl("/bin/ls", "ls", NULL);
- }
- else {
- wait(NULL);
- orig_eax = ptrace(PTRACE_PEEKUSER,
- child, 4 * ORIG_EAX,
- NULL);
- printf("The child made a "
- "system call %ld ", orig_eax);
- ptrace(PTRACE_CONT, child, NULL, NULL);
- }
- return 0;
- }
复制代码 可是编译提示找不到<linux/user.h>
我在两台系统上都已经把C/C++/Kernel dev的包装了,为什么还提示找不到这个头文件?
难道还要设置什么路径或者环境变量么? 谢谢。 |
|