天天看点

Visual Studio 调试系列1 Debug 与 Release 模式

系列目录     【已更新最新开发文章,点击查看详细】

Visual Studio 调试系列1 Debug 与 Release 模式

Debug 模式

Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。

在Debug模式下调试,可以在断点处看到详细的调试提示信息,如下图:

Visual Studio 调试系列1 Debug 与 Release 模式
并且在输出目录中生成 Debug 目录及可运行文件:
Visual Studio 调试系列1 Debug 与 Release 模式
Visual Studio 调试系列1 Debug 与 Release 模式

调试前请将【解决方案配置】设置为 Debug 模式。如果设置为 Release 模式,Visual Studio 项目具有针对你的程序的单独发布和调试配置。 生成用于调试的调试版本和最终发布分发的版本。 发布版本进行了优化性能,但更好地进行调试的调试版本。

VS调试器中,默认没有开启 【启用“仅我的代码”】选项。

Release 模式

Release 通常称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

将模式设置 Release,点击【调试】按钮,第一次会弹出如下窗口:

Visual Studio 调试系列1 Debug 与 Release 模式

选择【禁用仅我的代码并继续】,开始调试,如下如所示发现几个问题:

(1)能命中断点,但是在具体的对象上不显示调试信息。

(2)在【即时窗口】中也无法输出对象的具体信息。

(3)当使用鼠标拖拽断点到其他地方时,发出错误警告“无法设置下一条语句,因为已优化当前程序集”。

Visual Studio 调试系列1 Debug 与 Release 模式
Visual Studio 调试系列1 Debug 与 Release 模式

并且在输出目录中生成 Release 目录及可运行文件:

Visual Studio 调试系列1 Debug 与 Release 模式
Visual Studio 调试系列1 Debug 与 Release 模式

 如果开启【启用“仅我的代码”】选项,再次点击【调试】

Visual Studio 调试系列1 Debug 与 Release 模式

程序无法命中断点,直接运行并生成输出结果。

Visual Studio 调试系列1 Debug 与 Release 模式

·

 个人作品

    1、BIMFace.Community.SDK.NET

     开源地址:https://gitee.com/NAlps/BIMFace.SDK·

    2、ZCN.NET.Common

     开源地址:https://gitee.com/NAlps/zcn.net.common

 技术栈

 1、Visual Studio、.C#/.NET、.NET Core、MVC、Web API、RESTful API、gRPC、SignalR、Python

 2、jQuery、Vue.js、Bootstrap

 3、数据库:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、Redis、MongoDB、ElasticSearch、TiDB、达梦DM、人大金仓、 神通、南大通用 GBase、华为 GaussDB 、腾讯 TDSQL 、阿里 PolarDB、蚂蚁金服 OceanBase、东软 OpenBASE、浪潮云溪数据库 ZNBase

 4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分库分表、读写分离

 5、架构:领域驱动设计 DDD、ABP

 6、环境:跨平台、Windows、Linux(CentOS、麒麟、统信UOS、深度Linux)、maxOS、IIS、Nginx、Apach

 7、移动App:Android、IOS、HarmonyOS、微信、小程序、快应用、Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、Smobiler

 云原生、微服务、Docker、CI/CD、DevOps、K8S;

 Dapr、RabbitMQ、Kafka、分布式、大数据、高并发、负载均衡、中间件、RPC、ELK;

 .NET + Docker + jenkins + Github + Harbor + K8S;·

作者:张传宁   微软MCP、系统架构设计师、系统集成项目管理工程师、科技部创新工程师。

          专注于微软.NET技术(.NET Core、Web、MVC、WinForm、WPF)、通用权限管理系统、工作流引擎、自动化项目(代码)生成器、SOA 、DDD、 云原生(Docker、微服务、DevOps、CI/CD);PDF、CAD、BIM 审图等研究与应用。

          多次参与电子政务、图书教育、生产制造等企业级大型项目研发与管理工作。

          熟悉中小企业软件开发过程:需求分析、架构设计、编码测试、实施部署、项目管理。通过技术与管理帮助中小企业快速化实现互联网技术全流程解决方案。