Подтвердить что ты не робот

Запустить gdb с помощью pid

В общем, я вижу процесс pid, который работает в фоновом режиме и запускает dbx в этом процессе, используя команду dbx -a <pid>

аналогично, как я могу это сделать с помощью gdb?

4b9b3361

Ответ 1

Есть два способа.

Из командной строки включите pid в качестве аргумента после имени исполняемого файла:

gdb /path/to/prog PID

Внутри gdb вы можете использовать команду attach:

gdb /path/to/prog
gdb> attach PID

В то время как указание в командной строке более краткие, существует небольшой риск того, что если у вас есть основной файл с именем, который совпадает с именем pid (т.е. для pid 2345, основной файл должен быть "2345" ), тогда gdb откроет основной файл. По общему признанию, вероятность этого события незначительна.

Ответ 2

В дополнение к предыдущему вы можете напрямую использовать

gdb -p <pid>

Ответ 3

На странице man gdb:

Вместо этого вы можете указать идентификатор процесса в качестве второго аргумента, если вы хотите отладить выполняемый процесс:

gdb program 1234