Vscode调试DotNet Core代码

Posted 加菲的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vscode调试DotNet Core代码相关的知识,希望对你有一定的参考价值。

Visual Studio作为宇宙第一的IDE,开发调试.net core app,无一能出其右,我们还需要去了解Visual Studio Code吗?答案是肯定。

  • 杀鸡焉用牛刀:就一个hello world的Console App,还需要打开Visual Studio吗?
  • 画地为牢:如果开发环境换成Ubuntu或Centos等任意一个Linux发行版,调试怎么办?
  • 兵贵神速:马上就要开始调试一个已有app,但是调试环境没有Visual Studio,安装是不是特别费时?甚至不支持Visual Studio,怎么办?

那么Visual Studio Code的小而美的优势就会体现出来。

1.安装Visual Studio Code

纯属混字数的,扔一个链接https://code.visualstudio.com/,下载去吧,

  • windows下就是傻瓜式下一步下一步。
  • 红帽系linux
    • https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based-distributions
  • debian或者ubuntu
    • https://code.visualstudio.com/docs/setup/linux#_debian-and-ubuntu-based-distributions
  • MacOS
    • https://code.visualstudio.com/docs/setup/mac

2.安装.net core sdk

同样是扔一个链接https://dotnet.microsoft.com/download,页面选项卡,有4种环境

  • Windows
  • Linux
  • MacOS
  • Docker

按需选择吧

3.编码

略过

4.调试配置

假设你已经编码完成,

F5开始调试->Select Envoriment->.net core

4.1 生成并修改launch.json

然后就会创建.vscode文件夹,且创建了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"".NET Core Launch (web)",
      "type""coreclr",
      "request""launch",
      "preLaunchTask""build",
      "program""${workspaceFolder}/Vmware.Sphere.Api/bin/Debug/netcoreapp3.1/properties/netcoreapp3.1/Vmware.Sphere.Api.dll",
      "args": [],
      "cwd""${workspaceFolder}/Vmware.Sphere.Api",
      "stopAtEntry"false,
      "serverReadyAction": {
        "action""openExternally",
        "pattern""\\bNow listening on:\\s+(https?://\\S+)"
      },
      "env": {
        "ASPNETCORE_ENVIRONMENT""Development"
      },
      "sourceFileMap": {
        "/Views""${workspaceFolder}/Views"
      }
    },
    {
      "name"".NET Core Attach",
      "type""coreclr",
      "request""attach",
      "processId""${command:pickProcess}"
    }
  ]
}
  • program:调试的dll路径
  • cwd:正在调试的程序的工作目录的路径。默认是当前工作区

其他属性,还想知道具体作用,鼠标悬停在launch.json的某一个属性上,就可以了解,并根据实际情况进行修改。

4.2 生成task.json

F5->Could not find the task 'build'->Configure Task->Select a task to configure->Create  task.json file from temple->.Net Core

就会继续在.vscode下创建task.json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version""2.0.0",
    "tasks": [
        {
            "label""build",
            "command""dotnet",
            "type""shell",
            "args": [
                "build",
                // Ask dotnet build to generate full paths for file names.
                "/property:GenerateFullPaths=true",
                // Do not generate summary otherwise it leads to duplicate errors in Problems panel
                "/consoleloggerparameters:NoSummary"
            ],
            "group""build",
            "presentation": {
                "reveal""silent"
            },
            "problemMatcher""$msCompile"
        }
    ]
}
  • preLaunchTask:"build", Task to run before debug session starts.在启动调试会话之前运行的任务,说白了,就是调试之前,总得构建生成吧。然后就会触发task中lable名为 build的构建任务
    • command+args=dotnet build ...

5.调试快捷键

  • Continue / Pause F5
  • Step Over F10
  • Step Into F11
  • Step Out Shift+F11
  • Restart Ctrl+Shift+F5
  • Stop Shift+F5
  • Run (Start Without Debugging) action is triggered with Ctrl+F5

现在就可以正常调试了

  • 断点
  • 日志断点
  • 变量监控
  • 等等

参考链接

https://code.visualstudio.com/docs/editor/debugging#_launch-configurations

长按二维码关注



点外卖,先领券




以上是关于Vscode调试DotNet Core代码的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Vscode 中的 Typescript 中等待后调试代码?

Core dotnet 命令大全

如何在 VS Code 中调试 dotnet 测试?

无法调试 dotnet core GenericHost docker 容器

WinDbg 加载 dotnet core 的 sos.dll 辅助调试方法

DotNet Core .csproj 代码文件作为子项