Como entrar no processo em execução no gdb?

0

Então, eu estava tentando depurar um programa que é executado em dois nós. Eu uso yod como lançador de tarefas.

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

O programa está preso. Então eu queria usar o gdb como este

 yod -hosts node01,node02 gdb ./dist_task

Estou na sessão gdb no node01 mas para o node02 não consigo. O que acontece é que posso ver o processo em execução (gdb ./dist_task) no nó remoto (node02 by htop), mas não consigo entrar nele. Eu tentei fazer anexo (eu estou apenas tentando anexar ao processo gdb) como como normalmente faríamos para um processo, mas no meu caso, uma vez que já é gdb recebo informações sobre o gdb, mas não sobre o processo.

ps: Eu tentei fazer através do xterm, mas também não tive sorte (não consigo fazer dois xterm)

    
por solti 14.05.2015 / 21:50

1 resposta

0

Você está usando indevidamente attach

Nos documentos:

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

Você pode tentar lançá-los como yod -hosts node01,node02 ./dist_task -nl 2 e anexá-los por meio do comando attach no prompt do gdb ou usando gdb -a <pid>

    
por 15.05.2015 / 02:47