在ptrace'd非子线程上的waitpid

时间:2015-03-15 22:01:14

标签: ptrace waitpid

我使用ptrace强制另一个进程中的线程调用 sys_clone并创建一个带有pid pid的新线程,其克隆标记为CLONE_FILESCLONE_FSCLONE_IOCLONE_PTRACECLONE_SIGHANDCLONE_THREADCLONE_VM

据我所知ptrace手册页,waitpid()对儿童有效 流程和ptrace'd流程。但是,我的程序中的以下代码 成功:

assert(ptrace(PTRACE_CONT, pid, NULL, NULL) != -1);
assert(waitpid(pid, NULL, WSTOPPED) == -1);
printf("error: %s\n", strerror(errno));

输出:

error: No child processes

为什么会这样?我已经检查过,当删除ptrace时,孩子 线程终止于断点指令(0xcc)。

0 个答案:

没有答案