Как войти в процесс, работающий на GDB?

Поэтому я пытался отладить программу, которая работает на двух узлах. Я использую Yod в качестве панели запуска задач.

 yod -hosts node01,node02 ./dist_task -nl 2

Программа зависла. Поэтому я хотел использовать GDB, как это

 yod -hosts node01,node02 gdb ./dist_task

Я нахожусь в сеансе GDB в node01, но для node02 я не могу. Что происходит, я вижу процесс, запущенный (gdb ./dist_task) на удаленном узле (node02 от htop), но я не могу вмешаться в него. Я попытался сделать присоединение (я просто пытаюсь присоединиться к процессу GDB), как обычно, как мы это делаем с процессом, но в моем случае, поскольку это уже GDB, я получаю информацию о GDB, но не о процессе.

ps: я пробовал делать через xterm, но и там не повезло (я не могу выложить два xterm)

1 ответ

Вы злоупотребляете attach

Из документов:

attach process-id
    This command attaches to a running process—one that was started outside gdb

Вы можете попробовать запустить их как yod -hosts node01,node02 ./dist_task -nl 2 затем присоединение к ним через attach Команда из командной строки GDB или с помощью gdb -a <pid>

Другие вопросы по тегам