[ASP.NET Core] 使用 Visual Studio Code 来附加处理进程 Debug

接续上一篇 [ASP.NET Core] 使用 dotnet watch 自动编译修改过的 C#代码并执行程序

已经能边改代码保存后,就能看到最新的程序结果,

不过改完代码后,也不确定是否就是按照想像中的程序那样跑,

就需要 Debug 帮我们厘清程序执行的内容了。


在上一篇 [ASP.NET Core] 使用 Visual Studio Code 来 Debug 吧,

学会怎么在网站程序尚未执行之前,使用 VS Code 直接启动网站程序,并附加处理进程,

但如果是用 dotnet run 或 dotnet watch run,网站已经在执行后,

就得使用附加处理进程的方式来 Debug,就跟使用 Visual Studio IDE 附加处理进程一样。


launch.json 的 configurations 设定中有一段

        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:pickProcess}"
        }

这样就能在 VS Code 的 Debug 画面中选择 .NET Core Attach,按下绿色箭头(或者 F5 热键)就能选择要附加的处理进程,

这里可以看执行的 dll 是哪一个,例如 mywebapi.dll 是你编译后的 dll,那网站程序就是跑这个处理进程,

附加后能看到红色的中断点有是实心的,表示有载入 Symbol,同时上面也看得到侦错功能按钮列,

直接改程序保存后,dotnet watch 会自动编译执行,在附加侦错即可(希望未来能做到修改完保存自动附加侦错),