Skip to content

Latest commit

 

History

History
82 lines (73 loc) · 3.66 KB

3 运行调试.md

File metadata and controls

82 lines (73 loc) · 3.66 KB

编译、运行、调试

编译task

tasks.json

  • tasks是终端的一部分。就像在.code-snippets json中配置snippet一样,可以用来提供代码片段。在tasks.json,配置命令执行的脚本。然后使用tasks命令执行。
  • tasks负责执行一些任务。主要由vscode的脚本提供支持。是vscode用来运行操作系统脚本的工具。
  • tasks可以在命令列表>tasks:中找到, 其中C/C++插件提供了默认的内容
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "C/C++: g++.exe build active file",
      "command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
      "args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

字段解释

  1. label:用户界面中使用的任务的标签。
  2. type:任务的类型。对于自定义任务,可以是shell或process。如果shell指定,则该命令将解释为Shell命令(例如:bash,cmd或PowerShell)。如果process指定,则该命令将被解释为要执行的过程。
  3. command:要执行的实际命令。
  4. windows:任何Windows特定的属性。在Windows操作系统上执行命令时,将使用该命令代替默认属性。
  5. group:定义任务所属的组。在示例中,它属于该test组。可以通过从命令面板运行“运行测试任务”来执行属于测试组的任务。
  6. presentation:定义如何在用户界面中处理任务输出。在此示例中,显示了显示输出的Integrated Terminal,always并new在每次运行的任务上创建了一个终端。
  7. options:覆盖cwd(当前工作目录),env(环境变量)或shell(默认外壳程序)的默认值。可以为每个任务设置选项,也可以为全局或每个平台设置选项。此处配置的环境变量只能从您的任务脚本或过程中引用,并且如果它们是args,command或其他任务属性的一部分,则无法解析。
  8. runOptions:定义何时以及如何运行任务。

2 运行launch

launch.json

  • launch负责运行和调试任务。主要由vscode脚本提供支持。也是vscode用来兼容系统调试工具的。
  • launch有可视化的界面,运行栏目和左侧的Debug栏目都能生成launch文件,配置运行和调试任务。其中 c/c++插件提供了默认的运行和调试内容
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++.exe - Build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++: g++.exe build active file"
    }
  ]
}

3 调试debug

  1. 启用调试会话。启动调试会话的方式主要有三种:菜单栏-运行。侧边栏-调试。C/C++命令行:生成和调试任务。主要利用launch运行含有调试信息的可执行文件,然后进行调试。
  2. 设置调试断点
  3. 选择调试步骤:跳过过程、进入过程、跳出过程
  4. 选择调试变量