为了账号安全,请及时绑定邮箱和手机立即绑定

Visual Studio Code .NET Core 调试器没有遇到断点

Visual Studio Code .NET Core 调试器没有遇到断点

C#
慕神8447489 2022-06-18 17:09:46
我在尝试在 Visual Studio Code 中调试用 .NET Core 编写的应用程序时遇到问题。这是设置:我正在使用运行 Debian 9 的虚拟机(使用默认 GUI)。我已经安装了 .Net Core SDK 2.1 和 Visual Studio Code 1.30.0。安装了 C# 1.17.1 的扩展。我创建了简单的项目:class MyProgram{     static void Main(string[] args)     {         Console.WriteLine("Hello You Angel!");         ProcessStartInfo startInfo = new ProcessStartInfo() { FileName = "/bin/bash", Arguments = "-c nautilus /home/", };          Process proc = new Process() { StartInfo = startInfo, };         proc.Start();     }}如果我运行程序,则执行并产生正确的输出。在调试窗口中,我按下齿轮按钮来编辑 launch.jason文件这是它的样子:{ "version": "0.2.1", "configurations": [    {        "name": ".NET Core Launch (console)",        "type": "coreclr",        "request": "launch",        "preLaunchTask": "build",        // If you have changed target frameworks, make sure to update the program path.        "program": "${workspaceFolder}/HelloWorld/bin/Debug/netcoreapp2.1/HelloWorld.dll",        "args": [],        "cwd": "${workspaceFolder}/HelloWorld",        // For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window        "console": "integratedTerminal",        "stopAtEntry": false,        "internalConsoleOptions": "openOnSessionStart",        "externalConsole": false,    },    {        "name": ".NET Core Attach",        "type": "coreclr",        "request": "attach",        "processId": "${command:pickProcess}"    } ,]}我在项目中设置了断点:当我点击绿色三角形按钮时,它没有命中断点。实际上,我认为我根本没有执行任何代码。让这个应用程序进入调试模式我缺少什么吗?
查看完整描述

3 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

我在不同的设置上遇到了同样的问题。使用 VSCode 和 dotnet sdk 2.2 运行 Windows 10。

我通过 gissues Here找到了一些答案。

这个我认为解决了我的问题

当被要求将调试器附加到进程时,我还注意到要确保我选择了正确的“c:/projectdir/bin/debug/projectname.dll”。

之后 VSCode 成功命中了我的断点。

我希望这有帮助。


查看完整回答
反对 回复 2022-06-18
?
开满天机

TA贡献1786条经验 获得超13个赞

1)在终端去你的项目并写


dotnet restore

dotnet clean

dotnet build

2) 检查配置中“program”和“cwd”的路径(launch.json)。


查看完整回答
反对 回复 2022-06-18
?
繁星coding

TA贡献1797条经验 获得超4个赞

如果有人在将类库项目“转换”为控制台应用程序时遇到此问题,这里是我发现的症状和原因:

当我真正想要一个控制台应用程序时,我错误地创建了一个类库。我之前在 .NET Framework 项目中也犯过同样的错误,所以我想我会转换它,没问题。所以我改变了输出类型并给它一个启动对象。项目运行但没有命中断点。

我花了一段时间才找出原因;这是因为我将原始类库项目创建为 .NET 标准项目。当我创建一个与 .NET Core(而不是 .NET 标准)一样的新项目(相同的代码)时,会遇到断点。

非常有趣的是,您实际上可以将 .NET 标准类库项目切换到控制台应用程序,因为您似乎无法通过 UI 创建该设置。


查看完整回答
反对 回复 2022-06-18
  • 3 回答
  • 0 关注
  • 351 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信