2017-01-24 3 views
0

Я пишу программу, которая включает в себя управление процессом трассировки с помощью ptrace. Конечно, есть ошибки. Чтобы исправить мои ошибки, я хотел бы проверить состояние трассировки с помощью gdb. Тем не менее, gdb -p говорит:Как отладить трассировку ptrace?

warning: process X is already traced by process Y 

Если я просто использовать PTRACE_DETACH, то Tracee возобновит выполнение, пока я не запустить gdb, которая может разрушить государство, я пытаюсь исследовать.

Любое предложение о том, как проверить состояние выполнения трассировки ptrace (возможно, с инструментами, отличными от gdb), очень ценится.

ответ

1

Любое предложение о том, как проверить состояние среды выполнения в ptrace Tracee

Один из способов, это есть индикаторные реализации GDB remote debugging protocol. Дополнительная документация here.

Также this answer показывает, как отсоединить процесс, не возобновив его.

+0

Отлично! Отключение без резюме - это то, что я ищу. Неудивительно, что вы наняты! – DepressedDaniel