Я пытаюсь протестировать инструмент Strace в Android Real, но я не могу получить от него никакой информации. Я пытался выполнить следующую команду, но устройство все еще говорит мне, что "разрешение отклонено".
'$' adb shell su strace -p <PID_number>
Я попытался разбить команды и сделать это в два раза таким образом, и он работает
'$' adb shell su
'#' strace -p <PID_number>
Я попытался поместить предыдущий код таким образом, чтобы сделать его по-прежнему, но все еще не работает:
'$' adb shell su && strace -p <PID_number>
Что я делаю неправильно? Спасибо заранее
Привет, ребята, наконец, я нашел ответ, и я хочу поделиться им с вами.
Как вы можете видеть на предыдущем рисунке, я использовал shell:shell
в strace вместо root:shell
, поэтому я изменил его с помощью следующей команды:
'#' chown root strace
После этого я даю разрешение на выполнение с этим:
'#' chmod 4777 strace
Итак, теперь у меня есть strace таким образом, и я больше не вижу ". ptrace attach failed: Operation not allowed" message
-rwsrwxrwx root shell 134508 2011-03-1 16:41 strace
Спасибо всем, кто помогает мне найти решение;)
Некорневые телефоны не позволят вам запустить команду su
. Кроме того, strace
не является бинарным файлом по умолчанию в android. Чтобы эта команда работала, вам понадобится корневое устройство и двоичный код ARM strace
.
'$' adb shell su
и результат запроса этой команды '#' strace -p <PID_number>
. У меня эмулятор работает нормально.
adb shell
а затем strace -p <PID_number>
работает безупречно. В моем устройстве мне не нужен su
как я уже root, когда я захожу в adb shell.
Использование:
$ adb shell su -c strace -p <PID>
или установите бит SETUID в strace.