所以我试图调试一个在两个节点上运行的程序。我使用yod作为任务启动器。
yod -hosts node01,node02 ./dist_task -nl 2
该计划被卡住了。所以我想像这样使用gdb
yod -hosts node01,node02 gdb ./dist_task
我在node01中进入gdb会话,但对于node02,我无法进行。会发生什么,我可以看到远程节点上运行的进程(gdb ./dist_task)(htop为node02),但我无法进入它。我尝试连接(我只是试图附加到gdb进程),就像我们通常对一个进程一样,但在我的情况下,因为它已经是gdb我得到有关gdb的信息,但没有关于进程的信息。
ps:我试过通过xterm但也没有运气(我不能弹出两个xterm)
但这样我只能看到系统调用..我其实想做gdb:p ..是的,你是正确的等待/卡住认为我会纠正它。
—
solti 2015年
另一种选择是
—
ott-- 2015年
ltrace
,检查您的系统是否支持它。
嗯,我确实有ltrace ..我可能会尝试这个
—
solti
strace
流程?顺便说一句waiting
,并不意味着stuck