zoukankan      html  css  js  c++  java
  • 在Windows上使用VSCode远程链接到Linux上开发调试C++程序

    在Windows上使用VSCode远程链接到Linux上开发并调试C++程序

    开发环境配置成功,记个流水账

    Linux安装相应工具

    apt install -y gcc make gdb
    

    请配置好Linux端的SSH功能

    给VSCode安装Remote Development扩展

    安装后可以看到一个新图标,点击后选中SSH Targets

    添加链接方式

    编辑这个文件,如果没有就新建:

    C:/Users/用户名/.ssh/config
    

    以下内容添加到末尾后编辑下:

    Host 设备名称(不影响连接)
      HostName Linux的地址(域名或ip)
      Port 端口
      PreferredAuthentications 验证方式(password或publickey)
      User 用户名
      IdentityFile 私钥文件全路径,如果上面选择了publickey,需要用这个指出私钥文件的全路径
    

    例子:

    Host 新设备
      HostName 10.0.1.45
      PreferredAuthentications password
      Port 142
      User root
    

    编辑完之后保存即可看到VSCode显示了新添加的链接方式:

    链接

    右键点击链接方式,选则一种打开方法(在当前VSCode打开或新开一个VSCode打开):

    不管你上面选择哪个,后续都会让你选择系统类型,如果你是以密码方式验证,还会让你输入密码:

    链接成功,接着打开个目录试试:

    会列出Linux的文件系统,让你选择工作目录,选好后点击旁边的OK即可:
    如果使用密码验证,此处有可能会让你再输入一次密码.后面很多步骤也有可能反复验证,如果可以尽可能使用证书验证,会流畅很多.

    打开成功.可以看到目录里面什么都没有,下一步创建工程:

    创建工程

    给Linux端安装VSCode扩展

    注意,这些扩展必须安装到Linux端,VSCode需要链接上去再安装!

    新建文件main.c:

    #include<stdio.h>
    
    void main()
    {
    	int a=0;
    	a++;
    	a+=2;
    	a-=3;
    	printf("a=%d
    ",a);
    	return;
    }
    

    新建文件Makefile:

    # C compiler options
    CC	= gcc
    #CFLAGS	= -g -O2             
    RELEASE	= release.elf
    DEBUG	= debug.elf
    LIBS = 
    INC	= /usr/local/include/libusb-1.0
    
    # Source files
    SRCS = main.c
    
    # Make everything
    all:	$(RELEASE) $(DEBUG)
     
    # Make the application
    $(RELEASE): $(OBJS)
    	$(CC) -o $(RELEASE) $(SRCS) $(LIBS)
    
    $(DEBUG): $(OBJS)
    	$(CC) -o $(DEBUG) $(SRCS) $(LIBS) -ggdb3
    
    #
    # Clean all object files...
    #
    clean:
    	$(RM) $(DEBUG) $(RELEASE) 
    
    

    新建文件.vscode/tasks.json:

    {
    	"version": "2.0.0",
    	"tasks": [
    			{
    					"label": "make",
    					"command": "make",
    					"type": "process",
    					"args": [],
    					"problemMatcher": "$msCompile"
    			}
    	]
    }
    

    新建文件.vscode/launch.json:

    {
    	"version": "0.2.0",
    	"configurations": [
    		{
    			"name": "gcc - Build and debug active file",
    			"type": "cppdbg",
    			"request": "launch",
    			"program": "${workspaceFolder}/debug.elf",
    			"args": [],
    			"stopAtEntry": false,
    			"cwd": "${workspaceFolder}",
    			"environment": [],
    			"externalConsole": false,
    			"MIMode": "gdb",
    			"setupCommands": [
    				{
    					"description": "Enable pretty-printing for gdb",
    					"text": "-enable-pretty-printing",
    					"ignoreFailures": true
    				}
    			],
    			"preLaunchTask": "make",
    			"miDebuggerPath": "/usr/bin/gdb"
    		}
    	]
    }
    

    开始调试

    按F5,选择工程类型:

    选择gcc版本:

    可以看到VSCode成功进入调试模式,左边还能显示所有变量的值:

  • 相关阅读:
    Hibernate与JPA的区别是什么
    11 吐司 Toast 代码案例
    万众瞩目之下,ANGULAR 2终于正式发布啦!
    Sencha EXTJS6的 Eclipse 插件安装指南
    安卓6.0新特性在Fragment申请运行时权限
    NDK环境配置
    18 UI美化之level(等级显示显示)
    ABAP SY-SUBRC 使用过程中返回值的几种含义
    SAP中给当前指定的活动用户发系统信息的函数
    SAP中的Currency Converting Factor
  • 原文地址:https://www.cnblogs.com/DragonStart/p/12966851.html
Copyright © 2011-2022 走看看