Поэтому я пытался отладить программу, которая работает на двух узлах. Я использую 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 ответ1

0

Вы неправильно используете 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>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .