日期:2014-05-16  浏览次数:20683 次

ptrace进程跟踪失败
1.首先在终端中运行被跟踪进程test.c:
#include <stdio.h>
int main(){
while(1){
printf("pid=%d\n",getpid());
sleep(3);
}
return 0;
}
得到被跟踪进程pid=2127
2.然后运行跟踪进程ptrace_to.c:
#include <stdio.h>
#include <sys/ptrace.h>
#include <signal.h>
#include <sys/wait.h>
#include <unistd.h>
int main(){
int ret;
ret = ptrace(PTRACE_ATTACH, 2127, 0, 0);
if (ret == -1) {
perror("Failed to ptrace");
}
wait(NULL);
.....
.....
.....
}
3.终端显示:Failed to ptrace:Operation not permitted

为什么会这样啊?知道的能不能给解释下啊?急死我了~~

------解决方案--------------------
看看是不是权限问题呢.