当前位置:   article > 正文

如何在vscode调试c语言_vscode调试c++代码

vscode调试c++代码

1 新建文件夹Test,新建文件hello.c

2 用vscode打开Test文件夹

  1. #include <stdio.h>
  2. int main()
  3. {
  4. printf("Hello World!\n");
  5. return 0;
  6. }

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路径

  1. {
  2. // 使用 IntelliSense 了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. {
  8. "name": "chuan",
  9. "type": "cppdbg",
  10. "request": "launch",
  11. "program": "${workspaceFolder}/hello.exe",
  12. "args": [],
  13. "stopAtEntry": false,
  14. "cwd": "${fileDirname}",
  15. "environment": [],
  16. "externalConsole": true,
  17. "MIMode": "gdb",
  18. "miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe",
  19. "setupCommands": [
  20. {
  21. "description": "为 gdb 启用整齐打印",
  22. "text": "-enable-pretty-printing",
  23. "ignoreFailures": true
  24. },
  25. {
  26. "description": "将反汇编风格设置为 Intel",
  27. "text": "-gdb-set disassembly-flavor intel",
  28. "ignoreFailures": true
  29. }
  30. ]
  31. }
  32. ]
  33. }

7每次修改代码后,点右边三角形运行然后立刻退出运行(重新编译生成可执行文件),点左边的三角形"chuan"开始调试。

或者,在launch.json里,加入"preLaunchTask":"C/C++: gcc.exe 生成活动文件"

那点击"chuan"的三角形开始调试前,先运行编译的任务。

下面给出一个完整的例子

  1. {
  2. // 使用 IntelliSense 了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. {
  8. "name": "chuan",
  9. "type": "cppdbg",
  10. "request": "launch",
  11. //"program": "${workspaceFolder}/dp/CutRod.exe",
  12. "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
  13. "args": [],
  14. "stopAtEntry": false,
  15. "cwd": "${fileDirname}",
  16. "environment": [],
  17. "externalConsole": true,
  18. "MIMode": "gdb",
  19. "miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe",
  20. "setupCommands": [
  21. {
  22. "description": "为 gdb 启用整齐打印",
  23. "text": "-enable-pretty-printing",
  24. "ignoreFailures": true
  25. },
  26. {
  27. "description": "将反汇编风格设置为 Intel",
  28. "text": "-gdb-set disassembly-flavor intel",
  29. "ignoreFailures": true
  30. }
  31. ],
  32. "preLaunchTask":"C/C++: gcc.exe 生成活动文件"//和tasks.json中的label一致,以后修改代码,点击chuan三角形调试前会先编译
  33. }
  34. ]
  35. }
  1. {
  2. "tasks": [
  3. {
  4. "type": "cppbuild",
  5. "label": "C/C++: gcc.exe 生成活动文件",
  6. "command": "D:\\MinGW\\bin\\gcc.exe",
  7. "args": [
  8. "-fdiagnostics-color=always",
  9. "-g",
  10. "${file}",
  11. "-o",
  12. "${fileDirname}\\${fileBasenameNoExtension}.exe",
  13. "-fexec-charset=gbk" //源字符集是utf-8,执行字符集是gbk,调试时在弹出的窗口可以正确运行
  14. ],
  15. "options": {
  16. "cwd": "${fileDirname}"
  17. },
  18. "problemMatcher": [
  19. "$gcc"
  20. ],
  21. "group": {
  22. "kind": "build",
  23. "isDefault": true
  24. },
  25. "detail": "调试器生成的任务。"
  26. }
  27. ],
  28. "version": "2.0.0"
  29. }

最终效果,改了代码,直接点击chuan旁边的三角形,可以看到打印变了

跟vs差不多了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/924267
推荐阅读
相关标签
  

闽ICP备14008679号