запустите gdb, используя pid
Вопрос
В целом я вижу, что процесс pid
который выполняется в фоновом режиме и запустите dbx в этом процессе с помощью команды dbx -a <pid>
аналогично, как я мог бы сделать это с помощью gdb?
Решение
Есть два способа.
Из командной строки включите pid в качестве аргумента после имени исполняемого файла:
gdb /path/to/prog PID
Из gdb вы можете использовать команду прикрепить:
gdb /path/to/prog
gdb> attach PID
Хотя указание в командной строке более краткое, существует небольшой риск того, что если у вас есть основной файл с именем, совпадающим с pid (т.е.для pid 2345 основной файл должен иметь имя "2345"), после чего gdb откроет основной файл.По общему признанию, вероятность того, что это произойдет, ничтожно мала.
Другие советы
В дополнение к предыдущему вы можете непосредственно использовать
gdb -p <pid>
Со справочной страницы gdb:
Вместо этого вы можете указать идентификатор процесса в качестве второго аргумента, если хотите отладить запущенный процесс:
gdb program 1234