我正在尝试用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代码。
1条答案
按热度按时间4nkexdtk1#
目前,你不能在vs代码中自动调试MPI代码,也没有这样做的扩展。请查看GitHub上的以下问题以了解任何更改或更新
GitHub
但是,我找到了一种变通方法,可以复制vs代码窗口并手动附加调试器:
YouTube