VS Code连接远程Linux服务器调试MPI程序

1.在 VS Code 上安装扩展

  • C/C++

2.通过 VS Code 连接远程 Linux 服务器

3.通过 VS Code 在远程 Linux 服务器上安装扩展

  • C/C++

4.打开远程 Linux 服务器上的文件夹

【注】本文以 /root/ 为例。

5.创建项目文件夹,并在项目文件夹下创建MPI程序


6.点击左侧菜单栏的"运行和调试",点击"创建 launch.json文件"

【注】需要确保右侧已打开 test.c 文件

7.修改 launch.json 如下

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 附加",
            "type": "cppdbg",
            "request": "attach",
            "processId": "${command:pickProcess}",
            "program": "/root/demo/test", // 编译后的程序路径
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb", // 调试器路径
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        },
    ]
}

8.添加循环sleep()函数,让程序等待

9.编译MPI程序

【注】加上 -g 选项

10.运行MPI程序

11.按 F5,输入 test,选择其中一个进程

12.按 ctrl+shift+p,点击在新窗口复制工作区

13.在新窗口按 F5,输入 test,选择另一个进程

14.点击暂停按钮(两个工作区都执行)

15.手动修改debug变量为0(两个工作区都执行)

16.点击逐过程

【注】逐过程可以仅单个进程一步步执行。但在一步步逐过程中,会出现当前进程暂停的现象。这可能是因为当前进程走到了同步点,需要等待其它所有进程都到达同步点之后,才能继续往下执行。因此,此时需要将其它进程逐过程到代码的同一个地方。

相关推荐
曲幽20 天前
写页面时别再把 Element Plus 整个搬进来啦!Vue3按需加载的坑我帮你踩平了
vue3·web·vite·icon·element plus·vs code·import·unplugin
ChampaignWolf25 天前
VS Code + cc-Switch 使用教程
vs code·claude code·cc-switch
BestOrNothing_20151 个月前
VS Code 中 Codex 功能详解:登录、IDE上下文、Token窗口、使用额度与重连问题说明
ide·agent·token·vs code·codex·reconnection
formulahendry1 个月前
Agent Harness 的 Session Tree View:让每一个 Agent 做自己擅长的事情!
visual studio code·vs code·acp
formulahendry1 个月前
ACP UI 大战 VS Code Agents app:谁才是真正的跨平台 Agent 客户端?
visual studio code·vs code·acp
龙侠九重天1 个月前
VS Code AI 插件生态全景对比:Tabnine、Codeium、Blackbox 等主流工具深度横评
人工智能·vs code·ai 插件
龙侠九重天2 个月前
Windsurf AI IDE:下一代 AI 原生开发环境的崛起
人工智能·copilot·vs code·cursor·windsurf
formulahendry2 个月前
OpenClaw 已过时?在 VS Code 中运行 Hermes Agent!
visual studio code·vs code·acp
【ql君】qlexcel2 个月前
Visual Studio Code开发STM32设置头文件宏定义uint32_t报错
vscode·stm32·vs code·头文件宏定义·uint32_t报错·uint8_t报错·uint16_t报错
formulahendry2 个月前
我开发的 ACP Client,被 LangChain 官方推荐了!轻松连上 Claude、Codex、Copilot、OpenClaw 等任意 Agent
visual studio code·vs code·acp