VSCode c++ 调试未处理的异常
VSCode c++ debugging unhandled exception
当我尝试在 vscode 中调试我的 c 程序时,在控制台中显示以下消息后出现错误,指出“windowsdebuglauncher.exe 已停止工作”:
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Runtime.CompilerServices.FormattableStringFactory' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
at WindowsDebugLauncher.Program.ParseDebugExeArgs(String line)
at WindowsDebugLauncher.Program.Main(String[] argv)
当尝试调试时,我 运行 默认配置由 vscode 自动创建(所以基本上我的 launch.json 几乎是空的,tasks.json 默认)。编译器:gcc,调试器:gdb。我认为这个问题是因为我的 OS(Windows 8.1) 上没有安装某些东西。什么可能导致这个问题以及如何解决它?
更新:
我的 tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "C:\msys64\mingw64\bin\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"sprintf.c",
"s21_string.c",
"s21_string_io.c",
"s21_string_special.c",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe",
"-lcheck"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
我的launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations":
[
// {
// "name": "default",
// "type": "cppvsdbg",
// "request": "launch",
// "program": "src\test.exe",
// "args": [],
// "stopAtEntry": true,
// "environment": [],
// "console": "externalTerminal",
// "cwd": "${workspaceFolder}",
// "preLaunchTask": "C/C++: gcc.exe build active file"
// }
]
}
如果我取消注释这些行,它将成功构建文件,但不会启动调试并且不会出现错误消息并且调试控制台将为空。
我不知道怎么做,但我解决了这个问题。绝望地找到调试器,我在 vscode 终端中手动 运行 gdb,然后通过 vscode 运行 它似乎工作。
当我尝试在 vscode 中调试我的 c 程序时,在控制台中显示以下消息后出现错误,指出“windowsdebuglauncher.exe 已停止工作”:
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Runtime.CompilerServices.FormattableStringFactory' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
at WindowsDebugLauncher.Program.ParseDebugExeArgs(String line)
at WindowsDebugLauncher.Program.Main(String[] argv)
当尝试调试时,我 运行 默认配置由 vscode 自动创建(所以基本上我的 launch.json 几乎是空的,tasks.json 默认)。编译器:gcc,调试器:gdb。我认为这个问题是因为我的 OS(Windows 8.1) 上没有安装某些东西。什么可能导致这个问题以及如何解决它?
更新: 我的 tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "C:\msys64\mingw64\bin\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"sprintf.c",
"s21_string.c",
"s21_string_io.c",
"s21_string_special.c",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe",
"-lcheck"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
我的launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations":
[
// {
// "name": "default",
// "type": "cppvsdbg",
// "request": "launch",
// "program": "src\test.exe",
// "args": [],
// "stopAtEntry": true,
// "environment": [],
// "console": "externalTerminal",
// "cwd": "${workspaceFolder}",
// "preLaunchTask": "C/C++: gcc.exe build active file"
// }
]
}
如果我取消注释这些行,它将成功构建文件,但不会启动调试并且不会出现错误消息并且调试控制台将为空。
我不知道怎么做,但我解决了这个问题。绝望地找到调试器,我在 vscode 终端中手动 运行 gdb,然后通过 vscode 运行 它似乎工作。