关于VSCode调试C语言终端中文输出乱码以及无法调试的问题

  • Post author:
  • Post category:其他

此文章仅为本人在摸索VSCode过程中的一点经验,也是从多篇文章中学习到的方法,本意是为自己的配置过程做一个记载,方便日后回顾。

1.无法调试,可能是因为文件名为中文名。

2.F5调试的时候终端的中文输出为乱码,需要特别在tasks.json的args中加入

“-finput-charset=GBK”,

 “-fexec-charset=UTF-8”

3.其他情况例如:launch.json无法启动等,以下是我的launch.json与tasks.json配置文件(在.vscode文件夹中加入以下两个文件,没有.vscode文件夹,也可以自己新建一个)

(以下的miDebuggerPath与command的地址需要根据自己电脑的实际地址改写)

(launch中的preLaunchTask内容需要与tasks中的label内容一致)

launch.json

{

    “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”: “${fileDirname}”,

            “environment”: [],

            “externalConsole”: false,

            “MIMode”: “gdb”,

            “miDebuggerPath”: “D:/practical_app/VSCode/mingw64/bin/gdb.exe”,

            “setupCommands”: [

                {

                    “description”: “Enable pretty-printing for gdb”,

                    “text”: “-enable-[retty-printing”,

                    “ignoreFailures”: true

                }

            ],

            “preLaunchTask”: “C/C++: gcc.exe 生成活动文件”

        }

    ]

}

 tasks.json

{

    “tasks”: [

        {

            “type”: “cppbuild”,

            “label”: “C/C++: gcc.exe 生成活动文件”,

            “command”: “D:/practical_app/VSCode/mingw64/bin/g++.exe”,

            “args”: [

                “-fdiagnostics-color=always”,

                “-g”,

                “${file}”,

                “-o”,

                “${fileDirname}\\${fileBasenameNoExtension}.exe”,

                “-finput-charset=GBK”,

                “-fexec-charset=UTF-8”

            ],

            “options”: {

                “cwd”: “${fileDirname}”

            },

            “problemMatcher”: [

                “$gcc”

            ],

            “group”: {

                “kind”: “build”,

                “isDefault”: true

            },

            “detail”: “调试器生成的任务。”

        }

    ],

    “version”: “2.0.0”

}

 当在其他文件夹中创建新的C语言文件时,也可以将.vscode文件夹直接替换到与当前编写的C语言文件同级位置。

 


版权声明:本文为m0_60970782原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。