如何在vscode调试c语言
点击运行和调试,选择c++(GDB/LLDB),选择g++编译器,会出现tasks.json。6 我们可以增加配置,在刚才“没有配置”的调试过程中,增加一个配置,出现了launch.json。需要用右边的三角形先编译运行一下,然后用左边的绿色三角形,点击调试。1 新建文件夹CPP,新建文件main.cpp。3 用tasks.json决定编译问题。7 修改配置launch.json。2 用vscod
1 新建文件夹Test,新建文件hello.c
2 用vscode打开Test文件夹
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
3 用tasks.json决定编译器
点击运行和调试,选择c++(GDB/LLDB),选择gcc编译器,会出现tasks.json
4 点击左侧的运行和调试,或右侧的运行c/c++文件,控制台有打印"Hello World!"
5 点击右边的调试c/c++文件,此时是没有配置的,调试时控制台看不到打印输出,调试完才有
6 我们可以增加配置,在刚才“没有配置”的调试过程中,增加一个配置,出现了launch.json
7 修改配置launch.json
(1)增加配置,gdb启动
(2)修改name为"chuan"
(3) 修改program为期望调试的程序
(4)修改externalConsole为true
(5)修改gdb路径为mingw里的gdb路径
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "chuan",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/hello.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
7每次修改代码后,点右边三角形运行然后立刻退出运行(重新编译生成可执行文件),点左边的三角形"chuan"开始调试。
或者,在launch.json里,加入"preLaunchTask":"C/C++: gcc.exe 生成活动文件"
那点击"chuan"的三角形开始调试前,先运行编译的任务。
下面给出一个完整的例子
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "chuan",
"type": "cppdbg",
"request": "launch",
//"program": "${workspaceFolder}/dp/CutRod.exe",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask":"C/C++: gcc.exe 生成活动文件"//和tasks.json中的label一致,以后修改代码,点击chuan三角形调试前会先编译
}
]
}
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "D:\\MinGW\\bin\\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-fexec-charset=gbk", //源字符集是utf-8,执行字符集是gbk,调试时在弹出的窗口可以正确运行
"-Wall", "-Wextra", "-Wconversion", "-Wsign-conversion", "-Wsign-compare", "-Woverflow"//告警
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
最终效果,改了代码,直接点击chuan旁边的三角形,可以看到打印变了
跟vs差不多了
更多推荐
所有评论(0)