分享好友 最新动态首页 最新动态分类 切换频道
Visual Studio 高级调试-企业版三大特性
2024-12-26 14:46

前面两篇博客主要介绍了和

Visual Studio 高级调试-企业版三大特性

这几篇博客的目的都是为了帮助大家更好的认识和使用Visual Studio,Visual Studio企业版订阅价格为每月250美元,很多同学想知道企业版有哪些特别的功能,这次我们一起简单认识下Visual Studio企业版特有的三大技术:代码图,IntelliTrace,以及特有测试工具。

开启该功能需要在Visual studio Enterprise Installer 组件库中勾选安装:。

Visual Studio Enterprise提供了代码可视化和建模工具,可以帮助项目负责人更直观的了解代码结构、类、项目之间的映射关系,更方便的评估当前代码是否符合设计或者存在潜在的风险。

解决方案代码图

这里我们以.NET经典的微服务项目为例。

使用Visual Studio为该解决方案一键生成代码架构图,我们可以对代码图进行展开,编辑,更改布局方式等。

我们还可以使用代码图分析功能,查找项目中的循环引用,中心,以及未被引用的元素。下面是一张开启了分析功能的代码图

使用代码图读懂DDD项目

假如你希望了解一个DDD项目,最好的方式就是去查看它的Domian定义,我们可以新建一个空白的代码图,然后将eshop项目中的Ordering.Domian拖到上面,查看领域层的设计。

  • 我们可以看到eshop有两个聚合根:Order和Buyer;鼠标分别点击代码图上Order和Buyer两个类。

  • Order生命周期中会有Started,Cancelled,Shipped三种事件发出

  • Order状态会有StcokConfirmed, AwaitingValidation, OrderPaid等事件

  • Buyer会有PaymentValidation领域事件发出。

我们可以很直观的通过代码图了解项目的主要业务逻辑,如果想了解的更细致,还可以继续选择展开代码图元素。

★ 通常DDD项目中领域实体只能通过聚合根来访问,通过代码图我们也可以看到IRepository只能访问Order和Buyer两个聚合,这一功能在Review代码时非常有价值。

可以使用架构关系图对代码执行架构验证,在最新版本中,Visual Studio 采用 Roslyn 分析器提供的强大分析功能,可以实时进行依赖项验证。

比如下面,我创建了一个依赖项验证设计图,然后在Ordering.SignalrHub项目中引用Ordering.Domain中的类时,因为依赖验证图中没有Ordering.SignalrHub对Ordering.Domain的直接引用,所以编译器将会提示错误

★ 项目负责人可以通过设置依赖验证图,以此来保证开发人员编写代码时是完全符合设计原则的,以此提高项目质量。

我们可以在Visual Studio中使用IntelliTrace记录和跟踪代码的执行历史记录,可缩短调试应用程序所用的时间。 还可以在部署后使用IntelliTrace收集器,来做问题诊断。

事件快照

IntelliTrace会为调试期间的事件生成快照,Visual Studio支持以下事件快照。

例如文件事件,当程序读写或者删除文件等操作时,IntelliTrace会记录下来;还有事件,当你的程序执行数据库操作时,IntelliTrace会自动记录下执行时的环境信息,以及SQL语句等。

另外它还会自动保存断点命中、异常、Http请求等事件发生时的快照。

历史调试

当你怀疑代码某个地方有Bug,通常会在它附近设置断点,然后调试,如果不起作用,则需要在代码的其他位置尝试设置一个断点,然后重新运行调试器,反复执行测试步骤,直到找到问题。

使用 IntelliTrace 和历史调试,无需再频繁的设置断点、重新启动调试、重复测试步骤。因为你可以回到任意事件发生时的位置,查看当时的信息。

比如下图接口代码随机生成一个0-10的数字,当随机值小于5时会抛出异常。

★ 点击,Visual Studio会恢复到异常发生时的状态,我们可以查看此时的线程堆栈信息。

Live Unit Testing

单元测试是非常重要的,当我们在对代码进行修改或者新增功能时,首先可以通过单元测试来验证逻辑的正确性。

Visual Stduio Enterprise除了常规的测试工具之外还提供了Live Unit Testing,它可以实时运行单元测试,并在编辑窗口的右侧给予提示,我们可以非常直观的看到当前修改是否通过单元测试校验,或者当前代码行是否被单元测试所覆盖。

我们还可以在Visual Stduio中查看代码覆盖率,它将显示在各个程序集、类和过程中运行的代码的百分比。 源编辑器突出显示测试的代码。

代码覆盖率将以块为单位计数。 块是恰好有一个入口点和出口点的一段代码。 在测试运行期间,如果程序的控制流通过某个块,则将该块计为“已覆盖”。 块的使用次数对结果没有影响。

开发团队通常以大约 80% 的代码覆盖率为目标。 在某些情况下,较低的覆盖率是可接受的。 例如,当某代码是从标准模板生成时,可接受较低的覆盖率。

好了,Visual Stduio的介绍就到这里,企业版还有一些其他的特性,因为我不常用就不多做介绍了。

最新文章
2021年度“新能源汽车”重点专项指南:关于固态电池、电驱系统、整车平台、自动驾驶、车规级芯片
  国家重点研发计划启动实施“新能源汽车”重点专项。本重点专项总体目标是:坚持纯电驱动发展战略,夯实产业基础研发能力,解决新能源汽车产业卡脖子关键技术问题,突破产业链核心瓶颈技术,实现关键环节自主可控,形成一批国际前瞻和领
Character.AI 加入 AI 群聊功能:用户可与多个人工智能角色相互交谈
▼Character.AI 是一家由前 Google AI 研究人员创建的 AI 聊天机器人初创公司,由 a16z 支持,今天为其订阅者推出了一项新功能。该聊天机器人平台提供具有独特个性的可定制人工智能伴侣以及可定制的工具,现在提供群聊体验,用户和他们的朋
7.(内部资料)微信引流技巧+加人推广方法(二)
超级QQ权限引流术这一招专为做微信营销的朋友而设计的,具体步骤如下:第一步-先确定你要加什么特征的人,然后加相关且质量高(广告少、交流活跃)的qq群,通过多个qq号加大量相关qq群,然后每天加qq群内的成员为qq好友。招聘网站变相引流
AI小助手带你玩转广告文案视频
身为一位充满活力的创意广告策划师,我经常需要撰写各类文案以及视频脚本。近期,得知了一项名为ai对话文案视频制作的创新科技,能够更为便捷地帮我创作出精彩绝伦的广告作品。因此,我决定尝试使用该技术。 1. AI
2024-2029年中国城市公园规划建设市场前瞻与投资战略规划分析报告
权威数据来源一手调研资料调研方法直接观察法(实地走访、网络观察)访谈调查法(个别面访、集体面访、电话访谈、视频访谈、小组座谈)问券调查法(在线问券、电子邮件问券、入户分发等)会议调查法(参加博览会、展览会、高峰论坛、研修会
Chrome安卓版下载安装保姆级教程
我是鬼哥,10年+老程序员一枚。说到手机浏览器,很多朋友都会首推Chrome,因为它速度快、稳定、安全、功能强大,简直就是手机浏览器中的“战斗机”。可是,很多朋友还不知道怎么在安卓手机上下载和安装Chrome,今天鬼哥就来手把手教你,确
5v5游戏手游排行榜
介绍:《少年三国志2》清幽林间享福利,海量好礼来袭!少年们每日登录可收集林间妙趣,赢取赤金神将令、赤金武将、称号“清雅少年”等惊喜大礼!红颜协战功能心动开启!不同红颜拥有各具特色的技能,上阵后可为我方提供全属性加成,合理选
AI时代的初创企业,还有可能颠覆大公司吗?
AI带来的机遇远比科技行业面临的所有机遇要大,但这需要初创企业转变观念,不再寻求颠覆和摧毁老牌企业,而是改造它们,因为初创企业在很多方面都处于劣势。成功应用AI需要两样东西:大量数据和昂贵的算力。大公司正好拥有这两样东西。三十
2金1银2铜 BIAF2024釜山国际艺术节西安欧亚学院文传师生喜获佳绩
釜山国际艺术节(Busan International Art Festival,以下简称“BIAF”),是国际文明互鉴、文化交流的平台和桥梁。10月30日,韩国釜山国际艺术节在釜山广域市厅展厅盛大开幕,主题是“美丽的未来”。在这个充满激情与创意的舞台上,来自全
2024正版资料免费公开,经典解答解释落实_app99.95.75
2024正版资料免费公开:经典解答与落实策略在当今信息爆炸的时代,获取准确、可靠的数据和资料对于个人和企业来说至关重要,特别是对于数据分析领域,拥有高质量的数据资源不仅能够提升工作效率,还能帮助决策者做出更加明智的选择,本文将
相关文章
推荐文章
发表评论
0评