【发布时间】:2019-10-11 15:56:57
【问题描述】:
我有一个使用 mpi 的程序。要调试它,我可以使用mpirun -np 2 xterm -e gdb myprog。
但是,xterm 在我的机器上是错误的。我想尝试 gnome-terminal 但我不知道该输入什么。我试过了:
1)mpirun -np 2 gnome-terminal -- gdb myprog
2)mpirun -np 2 gnome-terminal -- "gdb myprog"
3)mpirun -np 2 gnome-terminal -- bash -c "gdb myprog"
4)mpirun -np 2 gnome-terminal -- bash -c "gdb myprog; exec bash"
但是这些似乎都不起作用; 1),3),4) 在 gdb 中 run 之后说:
看起来 MPI_INIT 由于某种原因失败了;你的并行过程是 很可能流产。并行过程可以有很多原因 在 MPI_INIT 期间失败;其中一些是由于配置或环境 问题。此故障似乎是内部故障;这里有一些 附加信息(可能仅与 Open MPI 相关 开发者):
ompi_mpi_init:ompi_rte_init 失败
--> 返回 "(null)" (-43) 而不是 "Success" (0)
----------------------------------- --------------------------
*** MPI_Init 发生错误
*** 在 NULL 通信器上
*** MPI_ERRORS_ARE_FATAL(此通信器中的进程现在将中止,
*** 可能还有你的 MPI 工作)
[oleg-VirtualBox:4169] MPI_INIT 完成前的本地中止成功完成,但无法汇总错误消息,也无法保证所有其他进程都已被杀死!
[Inferior 1 (process 4169) exited with code 01]
在 2) 终端说:
为此终端创建子进程时出错
执行子进程“gdb app”失败(没有那个文件或目录)
顺便说一句,我使用的是 Ubuntu 18.04.02 LTS。
我做错了什么?
编辑:事实证明,有问题的不是 xterm,而是带有 --tui 选项的 gdb。如果你的程序打印了一些东西,那么无论在哪个终端,gdb 窗口都会开始显示不正确的东西。
【问题讨论】:
标签: bash gdb openmpi gnome-terminal