Да. Используйте команду attach
. Проверьте эту ссылку для получения дополнительной информации. Ввод help attach
на консоли GDB дает следующее:
(gdb) help attach
Присоединить к процессу или файлу за пределами GDB.
Эта команда присоединяется к другой цели того же типа, что и ваша последняя
Команда "target
" ("info files
" покажет ваш целевой стек).
Команда может принимать в качестве аргумента идентификатор процесса, имя процесса
(с необязательным идентификатором процесса в качестве суффикса) или файл устройства.
Для идентификатора процесса у вас должно быть разрешение отправить процессу сигнал,
и он должен иметь тот же эффективный идентификатор пользователя, что и отладчик.
При использовании «attach
» для существующего процесса отладчик находит
программа работает в процессе, глядя в первую очередь в текущей рабочей
каталог, или (если не найден там), используя путь поиска исходного файла
(см. команду "directory
"). Вы также можете использовать команду "file
"
указать программу и загрузить ее таблицу символов.
ПРИМЕЧАНИЕ. У вас могут возникнуть проблемы с подключением к процессу из-за повышения безопасности в ядре Linux - например, присоединение дочернего элемента одной оболочки из другой.
Вероятно, вам потребуется установить /proc/sys/kernel/yama/ptrace_scope
в зависимости от ваших требований. Многие системы теперь по умолчанию 1
или выше.
The sysctl settings (writable only with CAP_SYS_PTRACE) are:
0 - classic ptrace permissions: a process can PTRACE_ATTACH to any other
process running under the same uid, as long as it is dumpable (i.e.
did not transition uids, start privileged, or have called
prctl(PR_SET_DUMPABLE...) already). Similarly, PTRACE_TRACEME is
unchanged.
1 - restricted ptrace: a process must have a predefined relationship
with the inferior it wants to call PTRACE_ATTACH on. By default,
this relationship is that of only its descendants when the above
classic criteria is also met. To change the relationship, an
inferior can call prctl(PR_SET_PTRACER, debugger, ...) to declare
an allowed debugger PID to call PTRACE_ATTACH on the inferior.
Using PTRACE_TRACEME is unchanged.
2 - admin-only attach: only processes with CAP_SYS_PTRACE may use ptrace
with PTRACE_ATTACH, or through children calling PTRACE_TRACEME.
3 - no attach: no processes may use ptrace with PTRACE_ATTACH nor via
PTRACE_TRACEME. Once set, this sysctl value cannot be changed.