debugging 在Visual Studio代码中使用Cmakefile调试MPI代码

mwyxok5s  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(210)

我正在尝试用MPI调试一个开源的C代码。这个开源有自己的Cmakefile。我在终端中用开源的指令启用MPI和调试模型。在创建名为gmx_mpi的可执行文件后,我将项目导入到Visual Studio代码中。我可以在终端中使用下面的命令运行可执行文件

mpirun -np 4 gmx_mpi mdrun -s diff.tpr -c diff.gro -ntomp 1

因此,我做了以下配置,以便在Visual Studio代码中使用MPI调试代码。

{
    "name": "(gdb) Launch",
    "type": "cppdbg",
    "request": "launch",
    "program": "/usr/bin/mpirun",
    "args": [
        "-np",
        "4",
        "/home/fanli/workspace/gromacs_fh_debug/build/bin/gmx_mpi",
        "mdrun",
        "-s",
        "diff.tpr",
        "-deffnm",
        "diff",
        "-ntomp",
        "1"
    ],
    "stopAtEntry": false,
    "cwd": "/home/fanli/workspace/protein_water/double/40ms",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        }
    ]
}

然而,代码并没有在我设置的断点处停止,而是直接运行,就像它处于发布模式一样。
我在谷歌上搜索了很多,但没有找到解决办法。
有谁能告诉我如何在visual studio代码中调试MPI代码。

4nkexdtk

4nkexdtk1#

目前,你不能在vs代码中自动调试MPI代码,也没有这样做的扩展。请查看GitHub上的以下问题以了解任何更改或更新
GitHub
但是,我找到了一种变通方法,可以复制vs代码窗口并手动附加调试器:
YouTube

相关问题