【问题标题】:Start several gdb processes in terminal emulator in split screen modus以分屏方式在终端模拟器中启动多个 gdb 进程
【发布时间】:2013-05-13 06:47:25
【问题描述】:

我正在使用 gdb 来调试并行 mpi 代码“prog”。为此,我使用少量进程,例如“M”并执行类似

mpiexec -n M xterm -e gdb ./prog

这会弹出 M 个 xterms,其中每个 xterms 在其中一个文件 prog 上运行一个 gdb 进程。
单个窗口导致屏幕混乱可能相当麻烦。
有什么方法可以使用任何已知的拆分窗口终端仿真器(例如终结器),例如让 M gdb 进程仅在 一个 窗口中启动,但从一开始就拆分为 M 个部分?

【问题讨论】:

    标签: debugging gdb mpi terminal-emulator


    【解决方案1】:

    我遇到了类似的问题,发现 tmpi 完全符合您的要求:在 M tmux 终端窗口中启动 mpi 调试进程。

    克隆存储库:

    git clone https://github.com/Azrael3000/tmpi.git
    

    然后安装:

    sudo ./tmpi/install.sh
    

    将 tmpi 可执行文件放在 /usr/local/bin 中

    tmpi 可执行文件和 tmux 必须位于所有服务器的路径中。

    运行作业:

    tmpi M gdb my_executable
    

    其中 M 是您想要的进程数。

    【讨论】:

      【解决方案2】:

      您想要的称为“终端多路复用器”;查看screentmux

      编辑:这可能是你想要的;在你的 shell 中发出以下命令

      tmux new-session -d bash     # start a bash shell
      tmux split-window -v python  # start a python shell below it
      tmux attach-session -d       # enter the tmux session
      

      【讨论】:

      • 那么使用 tmux/screen 将如何回答我的问题?再一次,甚至更简化,使用 mpi 启动多个并行作业,比如一个“顶级”进程,例如:“mpiexec -n 2 xterm -e top”将弹出 2 个 xterm,每个 xterm 中运行一个顶级进程。我应该如何处理 tmux/screen 以使 2 个进程在单个分屏的 2 个窗格中并排运行?
      • 我没有看到这个链接和我的问题之间的关系。我不想在“一个”新窗口中启动“一个”新进程...我想在 one 窗口中使用一个 mpi 命令启动 几个 新进程,拆分为与启动的进程一样多的窗格。
      • 顺便说一句:如果你没有运行 MPI,我可以在没有它的情况下问一个类似的问题。只需在一个命令行上一次完成:'xterm top & xterm top &'。这将再次弹出 两个 xterms running 'top'。现在我正在寻找的是这个命令的替代品,例如只产生一个 single 终端(?)弹出,但分成两个窗格,每个窗格都运行两个“顶级”进程之一.我不在乎 tmux / screen / 或其他任何东西都可以完成这项工作,只要只生成一个 single 附加终端。
      • @Mark,我很高兴你问的是不可能的。为什么使用screentmux 将多个终端打包到一个可见的“屏幕”中不符合您的需求?
      猜你喜欢
      • 1970-01-01
      • 2022-11-09
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      相关资源
      最近更新 更多