windows可以通过WSL建立ubuntu环境,但如果windows上的vscode直接访问ubuntu里面的代码的话是不能保持linux开发环境的,如下图所示,在vscode的terminal窗口输入make或make clean就会遇到下面的错误。

解决的办法是先安装vscode 插件:WSL,如下图所示

然后点击左边的Remote explorer找到WSL target: ubuntu-20.0.4,右击它选择在当前窗口打开它

第一次启动会耗时2~3分钟来加载server,如下图所示

 

加载进来后打开指定代码目录就可以在terminal窗口下输入linux命令运行了。

先在.vscode目录下自动创建launch.json和tasks.json,如下图所示

然后在launch.json输入正确参数,如下所示。

{

    "version": "0.2.0",

    "configurations": [        

        {

            "name": "(gdb) Launch",

            "type": "cppdbg",

            "request": "launch",

            "program": "your exe program,比如main",

            "args": [可执行程序所带的参数,比如"-p", "/work/xxx/xxx"],

            "stopAtEntry": false,

            "cwd": "${fileDirname}",

            "environment": [],

            "externalConsole": false,

            "MIMode": "gdb",

            "miDebuggerPath": "/usr/bin/gdb",

            "setupCommands": [

                {

                    "description": "Enable pretty-printing for gdb",

                    "text": "-enable-pretty-printing",

                    "ignoreFailures": true

                },

                {

                    "description": "Set Disassembly Flavor to Intel",

                    "text": "-gdb-set disassembly-flavor intel",

                    "ignoreFailures": true

                }

            ]

        }

    ]

}

容易出现错误的地方是要debug 的可执行程序及其参数的添加,以及 "miDebuggerPath": "/usr/bin/gdb"的指定。

同时还要安装c/c++ IntelliSense插件。 

最后别忘了在CMakeList(如果有的话)里面将编译方式改成Debug,并重新全部编译:

按F9设置断点,点击F5就能启动debug了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐