VS调试WSL中的.NET应用

这篇具有很好参考价值的文章主要介绍了VS调试WSL中的.NET应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先决条件

  • Visual Studio 2019 v16.9 预览版1或更高版本(通过WSL可选组件进行.NET调试)。若要检查 WSL 组件,请选择 “工具”  > “获取工具和功能” 。 在 Visual Studio 安装程序中,选择 “单个组件”,然后键入 “WSL” 搜索安装组件 。
  • 安装WSL。
  • 安装分发版。

VS调试WSL中的.NET应用

笔者本地环境: Visual Studio Professional 2022 17.7.1 + WSL2(CentOS7)。开始前,先创建一个名为 “WSLDemo” 的 Web API 项目。

一、使用WSL调试

1. 先选中调试下拉菜单中的 “WSL” 选项,如下:

VS调试WSL中的.NET应用

2. 打开 launchSettings.json 文件,发现 “profiles” 块里多了一项 “WSL” 配置段,不过出现警告提示:

VS调试WSL中的.NET应用

根据官方说明:从Visual Studio 2022 预览版 3 开始, launchSettings.json 中的 commandName 从 WSL2 更改为 WSL。可是改为WSL后,提示依然存在,看来不是这个问题。尝试启动调试也同样报错:

VS调试WSL中的.NET应用

不知道是VS本身的bug还是其它什么原因,只好先行作罢。

二、附加到WSL进程调试

 1. 把 “WSLDemo” 编译生成好的文件拷贝到WSL中,通过 “dotnet WSLDemo.dll” 命令启动:

VS调试WSL中的.NET应用

 2. 在Visual Studio上点击 “调试”  > “附加到进程”,选择 “连接类型” 和 “连接目标” 以及要附加的进程。

VS调试WSL中的.NET应用

然后,选择调试代码类型。

VS调试WSL中的.NET应用

3. 输入地址 “http://localhost:5000/weatherforecast” 访问,发现程序断点已进入,说明这种调试方式是可以的!

VS调试WSL中的.NET应用

参考资料

在 Linux 中使用 WSL 调试 .NET 应用 - Visual Studio (Windows) | Microsoft Learn

如何在Windows上快速安装CentOS - 天行健君子以自强 - 博客园 (cnblogs.com)文章来源地址https://www.toymoban.com/news/detail-660172.html

到了这里,关于VS调试WSL中的.NET应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据扫盲(2): 数据分析BI与ETL的紧密关系——ETL是成功BI的先决条件

    着业务的发展每个企业都将产生越来越多的数据,然后这些数据本身并不能直接带来洞察力并产生业务价值。为了释放数据的潜力,数据分析BI(商业智能)成为了现代企业不可或缺的一部分。然而,在数据分析的背后,有一个至关重要且常常被忽视的步骤——ETL(Extract, T

    2024年02月12日
    浏览(39)
  • 编程技巧 --- VS如何调试.Net源码

    如题,在VS中如何调试 .Net 源码呢? 一般来说,VS2022,都是默认启用 F12 转到定义能够看到源码,如果大家发现自己无法使用 F12 查看源码,可以在 \\\"工具\\\" - \\\"选项\\\" - \\\"文本编辑器\\\" - \\\"C#\\\" - \\\"高级\\\" - \\\"转到定义\\\",勾选所有选项就对了。 但是光以上的操作还是不够的,这样的可以查

    2024年02月05日
    浏览(78)
  • Docker介绍及其在WSL中的应用

    1 什么是Docker? Docker是一种开源的容器化平台,用于构建、交付和运行应用程序。它提供了一种轻量级的容器化技术,可以将应用程序及其依赖项打包成一个独立的可执行单元,称为Docker容器。每个容器都运行在一个隔离的环境中,共享主机操作系统的内核,从而实现了高效、

    2024年02月08日
    浏览(34)
  • 【工具】使用VS Code调试Docker Container中的代码

    在用这个方法时踩到了一些坑,一度搞得我很无奈。后面解决的方法也有点莫名其妙。下面详细叙述下。 Step 1 首先创建docker container,这里我是用命令行创建的。然后运行autoware提供的 /docker/generic/ 下的 run.sh ,即会自动创建docker container并进入到container中。此时docker --version为

    2024年02月01日
    浏览(87)
  • 聊一聊 .NET高级调试 中的一些内存术语

    在高级调试的旅程中,经常会有一些朋友问我什么是 工作集(内存) ,什么是 提交大小 ,什么是 Virtual Size , 什么是 Working Set 。。。截图如下: 既然有很多朋友问,这些用口头也不怎么好描述,刚好上午有时间就系统的聊一下吧。 可能有些朋友知道,内存中的虚拟地址被划分

    2024年02月05日
    浏览(50)
  • UOS 开启 VisualStudio 远程调试 .NET 应用之旅

    本文记录的是在 Windows 系统里面,使用 VisualStudio 2022 远程调试运行在 UOS 里面 dotnet 应用的配置方法 本文写于 2024.03.19 如果你阅读本文的时间距离本文编写的时间过于长,那本文可能包含过期的知识 我将以我的 UOS 虚拟机作为例子告诉大家如何在 Windows 系统里面,使用 Visua

    2024年04月25日
    浏览(32)
  • 【C# 调试】.net中的 .pdb文件是什么,有什么用

    mscn:在 Visual Studio 调试器(C#)中指定符号 (.pdb) 和源文件 PDB全称Program Database,程序数据库 ( .pdb) 文件(也称为符号文件)将项目源代码中的标识符和语句映射到已编译应用中的相应标识符和说明。 这些映射文件将调试器链接到源代码,以进行调试。 这个文件会在我们调试

    2024年02月04日
    浏览(44)
  • VS2019 打包桌面应用程序详细步骤,包含运行环境(.NET Framework)

    本篇教程基于VS扩展插件Microsoft Visual Studio Installer Projects工具来打包, 在VS工具中进行安装,菜单栏【扩展(X)】 -- 【管理扩展】,在界面中输入Installer,找到Microsoft Visual Studio Installer Projects,点击下载 在解决方案上右键 –【添加】--【新建项目】– 【Setup Project】,

    2024年02月04日
    浏览(58)
  • 模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案

    免责声明 使用者本人对于传播和利用本公众号提供的信息所造成的任何直接或间接的后果和损失负全部责任。公众号及作者对于这些后果不承担任何责任。如果造成后果,请自行承担责任。谢谢! 大家好,我是沙漠尽头的狼。 本文首发于Dotnet9,结合前面两篇(如何在没有第

    2024年02月08日
    浏览(39)
  • Net 高级调试之二:CLR和Windows加载器及应用程序域介绍

    一、简介 今天是 Net 高级调试的第二篇文章,第一篇文章记录了自己学习 Net 高级调试的第一步,认识一些调试工具,有了工具的倚仗,我们开始仗剑走天涯了,开始Net 高级调试正式的征程了。我先说一下,我的文章,【调试测试】这部分一般分为两个部分,第一部分是要用

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包