开发工具

ubuntu下使用vscode调试c程序

2017-06-11  本文已影响2329人  JzCh

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
        }
    ]
}
上一篇下一篇

猜你喜欢

热点阅读