美文网首页开发工具
ubuntu下使用vscode调试c程序

ubuntu下使用vscode调试c程序

作者: JzCh | 来源:发表于2017-06-11 23:15 被阅读2329次

    1.在扩展中搜索cpptool,安装图中的插件


    2.用vscode打开需要调试的c程序文件所在的文件夹
    3.点击debug图标

    4.点击设置图片,出现 选择环境,选择 c++

    5.程序会自动生成launch.json文件
    6.将图中的program改为需要调试的a.out文件的全路径
    cwd改为文件所在文件夹的全路径
    7.接下来在命令行中使用gcc编译c文件,记得加上-g选项
    如:gcc -o file.c,即可生成对应的a.out文件

    如果嫌每次都要这样做(gcc -o file.c)很麻烦,可以使用接下来的步骤:
    1.使用ctrl p打开命令面板,然后输入>task后,选择配置任务运行程序


    2.接下来会有很多个选项,选择Others

    3.会自动生成一个tasks.json文件


    4.将command选项设置为g++
    args选项中写入-g选项和文件的全路径

    more

    为了使用适用更多的文件,应该将args中的文件名改成${file},则整个task.json文件变成(参考):

    {
        "version": "0.1.0",
        "command": "g++",
        "args": ["-g","${file}","-o","${file}.exe"],    // 编译命令参数
        "problemMatcher": {
            "owner": "cpp",
            "fileLocation": ["relative", "${workspaceRoot}"],
            "pattern": {
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            }
        }
    }
    

    如果在windows上使用,vscode调试c程序,则还要安装MinGw,下面附上launch.json的例子:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "C++ Launch (GDB)",                 // 配置名称,将会在启动配置的下拉菜单中显示
                "type": "cppdbg",                           // 配置类型,这里只能为cppdbg
                "request": "launch",                        // 请求配置类型,可以为launch(启动)或attach(附加)
                "launchOptionType": "Local",                // 调试器启动类型,这里只能为Local
                "targetArchitecture": "x86",                // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
                "program": "${file}.exe",                   // 将要进行调试的程序的路径
                "miDebuggerPath":"c:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
                "args": ["blackkitty",  "1221", "# #"],     // 程序调试时传递给程序的命令行参数,一般设为空即可
                "stopAtEntry": false,                       // 设为true时程序将暂停在程序入口处,一般设置为false
                "cwd": "${workspaceRoot}",                  // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
                "externalConsole": true,                    // 调试时是否显示控制台窗口,一般设置为true显示控制台
                "preLaunchTask": "g++"                    // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
            }
        ]
    }
    

    相关文章

      网友评论

        本文标题:ubuntu下使用vscode调试c程序

        本文链接:https://www.haomeiwen.com/subject/yrckqxtx.html