为啥 VSCode 调试器不能使用 C# 中的默认 launch.json 设置?

Posted

技术标签:

【中文标题】为啥 VSCode 调试器不能使用 C# 中的默认 launch.json 设置?【英文标题】:Why doesn't the VSCode debugger work with default launch.json settings in C#?为什么 VSCode 调试器不能使用 C# 中的默认 launch.json 设置? 【发布时间】:2020-12-02 00:50:47 【问题描述】:

调试根本不起作用。从外部终端运行“dotnet run”时,应用程序运行没有问题(构建和运行正常)。但是,当转到“活动栏”中的“运行”选项卡并启动“.NET Core 启动(控制台)”选项时,什么也没有发生。它根本不运行程序。这就像它挂在一个无限循环中。没有命中断点,甚至没有执行 Main 方法(使用我的应用程序和“Hello World”示例进行了测试)。我尝试将 launch.json 中的“控制台”更改为“integratedTerminal”、“externalTerminal”和“internalConsole”。没有工作。 “ExternalTerminal”比其他人走得更远,但仍然没有显示。没有打印语句显示,没有光标移动,没有动作。只是挂起,什么都没有。使用此选项,当我从 vscode 本身停止调试器时,它会打印“单击任意键继续...”。最后我尝试了“.NET Core Attach”,但也没有成功。我需要调试我的应用程序,因为它对我的工作至关重要。请,我可以使用一些帮助。以前没遇到过这个问题。

注意事项:

I) I haven't tested with other languages
II) Creating a new project and debugging it doesn't fix the issue. It still persists with default debug settings and default launch.json file.
III) When using "console": "externalTerminal" in launch.json, the settings option "Terminal › External: Linux Exec" is set to "konsole". Tried with "gnome-terminal", but no success.

我的配置:

VSCode Version: 1.47.3
OS Version: Arch Linux (fully updated; date: 12 AUG 2020)
DE: KDE V.5.73.0
Terminal: Konsole

复制步骤:

I) Open VSCode(either from "Application" or with "code ." in terminal)
II) Promts you for assets for debugging and such, to which you answer "Yes"
III) Go to "Run" section to debug
IV) Debug using ".NET Core Launch (console)"

【问题讨论】:

【参考方案1】:

Arch Linux 软件包在发布此内容时已损坏。从微软网站下载官方包解决了这个问题。最好使用官方

【讨论】:

【参考方案2】:

在你的 launch.json 上使用它

"console": "integratedTerminal"

【讨论】:

以上是关于为啥 VSCode 调试器不能使用 C# 中的默认 launch.json 设置?的主要内容,如果未能解决你的问题,请参考以下文章

vscode为啥不能调试c语言

为啥我的vscode写html 代码不能运行 Code language not supported or defined. 有没有大佬救救我?

使用VSCode如何调试C#控制台程序_2_加深总结

为啥 VSCode 在启动调试器之前不激活 conda?

Unity使用VSCode,调试c#Lua

VScode默认输出到调试控制台如何调整到终端以及两者中的乱码问题