首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"strace -p pid“给出"attach: ptrace(PTRACE_ATTACH,...):不允许操作”

"strace -p pid“给出"attach: ptrace(PTRACE_ATTACH,...):不允许操作”
EN

Stack Overflow用户
提问于 2016-06-23 20:43:24
回答 2查看 4.3K关注 0票数 1

我写了一个android应用程序来监控正在运行的进程的系统调用,但我得到的结果都是“不允许操作”。我尝试使用"chmod 4777strace“和chown的”SElinux : root strace“来禁用root并在strace上启用root访问,但我仍然无法解决这个问题。该应用程序在仿真器4.3 (API 18)上运行。

EN

回答 2

Stack Overflow用户

发布于 2016-07-01 04:42:42

进程可以禁用跟踪,并且没有方法可以附加,即使是以root身份。

如果目标进程无法接收到来自strace的信号(如果以root身份运行成功,则不会触发EPERM,尽管我不确定strace是否真的能很好地处理问题),目标进程本身是setuid (它们禁用跟踪),如果跟踪只是被进程本身禁用了,则会触发EPERM。此外,一个进程最多可以由一个调试器跟踪。

不可转储的进程不能通过strace附加到。进程可以将自身设置为不可转储,也可以在UID更改时自动发生(由于setuid位或setuid系统调用)

票数 1
EN

Stack Overflow用户

发布于 2017-12-20 22:52:12

在某些情况下,在Android上执行strace会失败,并显示"ptrace(PTRACE_ATTACH,...):Operation not permitted“,因为strace已经在Android中运行。

$ adb shell su -c ps | grep strace root 15861 1 1056 4 do_wait 00000452cc S

一旦旧的运行中的strace进程被终止,新的调用可能会成功:

$ adb shell su -c pkill strace

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37991989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档