Windows环境使用VSCode 调试Linux环境C/C++代码

        在Win10中,配置VScode调试Linux环境下的C语言的代码,配置过程不太常用,特此记录下。

1、源码文件,都一样,怎么写看个人爱好。

2、VSCode安装这里也不做赘述。VSCode默认安装好是使用的英文,想要中文界面,可以在扩展中安装中文语言包就可以了,如下图:

 

 安装完成后,会提示重启,按照提示操作即可。

3、安装远程插件并配置

        由于Window上编译Linux系统下的代码,因此可将Linux看作是另外一台电脑,不管是不是虚拟机,容器之类的,或者说Windows 10 上通过Windows商店安装的Ubuntu系统,只要能通过ssh远程连接,就可以通过VSCode来远程调试,因此VSCode需要安装远程插件,在插件搜索框搜索Remote SSH,将下图中选中的插件都安装上,其他相应插件会自动安装。

        

 然后点击左边栏上的如下图红圈中的图标,即远程连接管理的图标:

然后点击SSH TARGETS左边的箭头展开后点击右边的加号”+“,如下图:

 

 然后会弹出如下图的提示:

在框里面按照在命令行上输入ssh命令的格式输入,有一点不同的时,如果Linux系统的ssh服务端口不是默认端口(22)的话,需要指定端口,指定端口只需在IP地址后面加上冒号再加端口即可,不用像命令行上一样加参数p来指定端口,如下图:

 

 2222为Linux系统上设置的ssh端口,可查看/etc/ssh/sshd_config中的port参数。

回车后,即可在左边的SSH TARGETS下面看到一个指定IP的远程连接,此时可以在对应IP上右键选择进行连接,如下图:

点击后会弹出输入密码的提示,如下图:

 在下面一行输入密码即可连接到对应的Linux系统。

会弹出config文件列表,选择第一个:

选择刚配置好的服务器,提示选择的系统,根据你自己的系统进行选择即可:

 连接到Linux后,再按下图所示选择打开文件夹:

 点击后会弹出选择提示框,用来选择代码所在目录,默认是打开的登录用户目录,下方会列出目录下的文件和子目录,可通过鼠标点击来选择对应目录,也可以直接填入路径来定位到代码所在的目录:

 选择好代码目录后,点击”确定“即可。

4、安装C/C++插件

        接下来需要在VSCode中安装C\C++的插件,在插件搜索框中输入”C++“,安装红色框中的插件:

        安装完成后,可以打开源码文件,写代码的时候会有自动补全的提示。

        源码写好后,需要写好Makefile,不写Makefile写一个编译的shell脚本也可以,后续配置编译任务时可以用编译脚本,也可以在编译任务里面添加编译的命令,但为了方便脱离VSCode编译代码,最好写一个Makefile或者编译的shell脚本。

5、编辑任务配置。

        1)快捷键(Ctrl+Shift+p),输入task,选择 配置任务:

        注意,这里在选择配置任务的时候,最好先在VSCode里面打开代码文件,否则不会提示C\C++的生成活动文件,如下图:

         2)选择gcc或者gcc7都可以,后面会修改里面的内容,选择哪个都无所谓,但如果要在VSCode的任务配置里面配置编译命令,这里最好就选择与Linux系统匹配的gcc版本。选额好之后就会在.vscode目录下生成一个task.json文件,即任务配置文件。如下图:

         3)文件内容需要进行修改,如果是需要通过vscode配置代码编译的gcc命令,则只需要对那个代码来改动即可,这里面有两个变量,fileDirname和fileBasenameNoExtension,如果不确定这两个变量所指向的目录,可直接不修改,后面执行此任务的时候会输出,根据输出再来调整目录即可。正常情况下fileDirname指向的是.vscode目录,如需改到选择的代码目录,可以用变量workspaceFolder。

        我的项目本身是已经写好shell编译脚本的,此处就说明下shell编译脚本的task任务配置修改:

        {

            "type": "shell",

            "label": "test build",

            "command": "./build.sh x86",

            "problemMatcher": []

        }

以上为我自己的项目改动的例子,只需要保留四个参数:

        type表示执行的命令类型,执行shell脚本,因此这里就是指定为shell;

        label是标签,这里看自己心情填写,不过后面调试任务会用到这个名字;

        command就很好理解了,命令行上怎么执行编译,这里就是什么。

        最后这个problemMatcher暂时没有用,可以不填,也可以直接不要。

下面再说说如果是直接写好Makefile的情况下,执行make的任务配置的写法,参数还是这几个:

        type还是填shell,因为命令行上执行make也相当于是shell命令;

        label跟上面一样看自己心情写;

        command,这里因为是要执行make命令,因此这里就写make,其实也跟上面一样,命令行上执行什么这里就写什么;

        problemMatcher也是一样,不用填写。

        修改完后的内容如下:

        {

            "type": "shell",

            "label": "test build",

            "command": "make",

            "problemMatcher": []

        }

         4)任务配置文件保存好后,接下来就要运行配置的任务。.快捷键(Ctrl+Shift+p),输入run task,选择运行任务,则会弹出刚刚在任务配置中配置的标签内容,选择需要执行的任务即可。

 

         执行此任务后,代码就会编译并生成执行文件。

6、编辑调试配置

        点击运行于调试按钮,选择添加配置,如下图:

        选择后会自动生成launch.json文件,并同时会弹出选择列表,选择”C/C++gdb启动“即可,默认配置也需要进行对应修改,对其中参数做部分说明:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "test", //名称随便取
            "type": "cppdbg", //调试类型
            "request": "launch", //请求配置类型
            "program": "${workspaceFolder}/test/test", //可执行程序完整路径(包含程序名称)
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}/test", //可执行程序完整路径(不包含程序名称)
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "test", //task 任务名称(与tasks.json中名称一致)
            "miDebuggerPath": "gdb file absolute path" //gdb完整路径
        }
    ]
}

         其中的preLaunchTask参数就是指定加载程序前,需要执行的任务,这里自然就是前面配置的编译任务了,注意名字是编译任务的label参数,若不一致则加载的时候会提示没有对应任务。

        点击左上角运行的三角符号,选择刚刚配置的调试任务,就可以开始调试程序,打断点、单步调试都可以直接在VSCode上操作了。

         另外说明下,本人实在Windows 10 的商店里面直接安装的Ubuntu,这个系统跟虚拟机有些不同,因为它本身没有单独分配IP,因此ssh的IP地址跟本机IP地址是相同的,但由于本机已经使用了ssh协议默认的22端口,因此在Ubuntu系统中最好指定到别的端口去,否则可能会出现ssh无法连接到Ubuntu上的情况。如果需要界面UI调试的朋友,请自行百度,这里不再占用他人功劳了。

 

 

 

 

  • 13
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上配置C/C++环境,可以按照以下步骤进行操作: 1. 首先,确保系统已经安装了gcc、g++和gdb这些必要的工具。可以使用以下命令在终端中检查它们的版本: ``` gcc -v g++ -v gdb -v ``` 如果没有安装,可以使用包管理器安装它们。在Ubuntu上,可以使用如下命令安装: ``` sudo apt-get install build-essential gdb ``` 2. 接下来,打开VS Code编辑器,并安装C/C++扩展。可以在扩展菜单中搜索"C/C++"并安装它。 3. 创建一个C/C++项目文件,在项目文件中编写C/C++代码。可以在项目中创建一个test.cpp文件,并添加以下代码: ```cpp #include <iostream> using namespace std; int main() { cout << "hello world" << endl; return 0; } ``` 4. 打开VS Code的设置(Preferences->Settings),并在用户设置或工作区设置中添加以下配置来指定编译器和调试器: ```json "C_Cpp.default.compilerPath": "gcc", "C_Cpp.default.includePath": ["${workspaceFolder}/**"], "C_Cpp.default.debuggerPath": "gdb", ``` 5. 现在,可以使用VS Code的编译调试功能。在VS Code中打开test.cpp文件,并按下F5键开始调试。在调试控制台中,应该可以看到"hello world"的输出。 这样就完成了Linux上在VS Code中配置C/C++环境的步骤。通过这样的配置,你可以在VS Code中编写、编译调试C/C++代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux系统VsCode 配置C/C++环境](https://blog.csdn.net/qq_42911863/article/details/125619397)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux系统VS Code配置C/C++环境](https://blog.csdn.net/qq_42007287/article/details/124691279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值