猿问

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

我在尝试在 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}"

    }

 ,]

}

我在项目中设置了断点:

http://img2.mukewang.com/62ad967a0001a87a11170151.jpg

当我点击绿色三角形按钮时,它没有命中断点。实际上,我认为我根本没有执行任何代码。让这个应用程序进入调试模式我缺少什么吗?



慕神8447489
浏览 352回答 3
3回答

繁星淼淼

我在不同的设置上遇到了同样的问题。使用 VSCode 和 dotnet sdk 2.2 运行 Windows 10。我通过 gissues Here找到了一些答案。而这个我认为解决了我的问题当被要求将调试器附加到进程时,我还注意到要确保我选择了正确的“c:/projectdir/bin/debug/projectname.dll”。之后 VSCode 成功命中了我的断点。我希望这有帮助。

开满天机

1)在终端去你的项目并写dotnet restoredotnet cleandotnet build2) 检查配置中“program”和“cwd”的路径(launch.json)。

繁星coding

如果有人在将类库项目“转换”为控制台应用程序时遇到此问题,这里是我发现的症状和原因:当我真正想要一个控制台应用程序时,我错误地创建了一个类库。我之前在 .NET Framework 项目中也犯过同样的错误,所以我想我会转换它,没问题。所以我改变了输出类型并给它一个启动对象。项目运行但没有命中断点。我花了一段时间才找出原因;这是因为我将原始类库项目创建为 .NET 标准项目。当我创建一个与 .NET Core(而不是 .NET 标准)一样的新项目(相同的代码)时,会遇到断点。非常有趣的是,您实际上可以将 .NET 标准类库项目切换到控制台应用程序,因为您似乎无法通过 UI 创建该设置。
随时随地看视频慕课网APP
我要回答