最新的 Visual Studio 更新(v17.13)带来了一组强大的调试和分析功能,旨在加快故障排除速度,使其更高效。借助本次发布的 AI 驱动功能,变量分析和数据检查更智能、更直观,问题更容易识别和调试。分析工具的改进还为多进程执行、本机代码和异步工作流提供了更好的支持和可视化,并更清晰地洞察了性能瓶颈。有关此版本中调试器和诊断功能的完整列表,请查看发行说明。

GitHub Copilot 辅助调试功能

更智能的异常和变量分析

  GitHub Copilot 异常分析和变量分析现在可以智能地使用您的项目上下文来查找并引起您对最相关的错误代码的注意。

  有了更清晰、可操作的洞察力和更智能、上下文感知的解决方案,这些功能可以更快地引导您找到问题的根本原因,使您的调试工作流程更加简化,并在调试错误时提供更高的总体精度。

AI 驱动的并行堆栈窗口

  并行堆栈中的自动总结为您提供 AI 生成的摘要,因此您可以快速了解每个线程正在做什么。与 App Summarization 集成的 Copilot 聊天功能更进了一步,可以识别可能存在的问题,推荐解决方案,并允许您提出问题,得到解释,并获得人工智能驱动的建议——所有这些都在调试会话的背景下进行。

  总的来说,这些工具简化了并行调试,因此您可以更快速、更自信地诊断和修复线程问题。

IEnumerable Visualizer 中增强的可编辑表达式

  IEnumerable Visualizer 现在具有 GitHub Copilot Inline Chat 功能,允许您使用自然语言优化可编辑的表达式。从 Copilot 打开提示词,告诉它您想要更改的内容,并接收人工智能生成的 LINQ 查询,以定义过滤您的数据。包括语法高亮显示,使其更容易阅读。

分析功能

本机代码的 Targeted Instrumentation

  Visual Studio 中的 Instrumentation 工具现在为本机代码提供了定向检测工具,允许您选择要彻底检查的函数和类。

  这改进了性能监视,使您更容易发现问题,简化了调试体验。

在分析器中显示统一的异步堆栈

  Visual Studio 分析器现在通过在摘要和详细调用树窗口中显示拼接的异步调用堆栈来改进 .NET 应用程序的调试。

  该特性为异步操作提供了更连贯、更清晰的图像,使开发人员更容易在单个统一的堆栈跟踪中跟踪整个执行路径,包括异步方法调用。

在 CPU 使用率中使用颜色编码泳道的多进程分析

  Visual Studio 分析器中的 CPU 使用率工具现在支持多进程分析,性能图表显示为泳道中每个进程的单独颜色编码。

  图形显示为堆叠面积图。您还可以通过左上角的下拉菜单过滤进程,以启用重点分析。

  此增强功能使您能够在一个会话中轻松地按进程分析和隔离 CPU 使用情况。它提供了更好的资源使用可视化,优化了性能分析并简化了多进程应用程序性能调优。

感谢!

  我们的目标是使您的调试和分析体验尽可能地流畅和高效。我们非常感谢您提供的反馈和建议,因为这决定了您每天使用的工具的方向。永远不要停止向我们提供反馈,因为我们可以继续使 Visual Studio 成为像您这样的开发人员的优秀和用户友好的工具。

  Happy coding!

  原文连接:https://devblogs.microsoft.com/visualstudio/new-debugging-and-profiling-features-in-visual-studio-v17-13/

【译】Visual Studio(v17.13)中新的调试和分析特性的更多相关文章

  1. Visual Studio 2019 preview中体验C# 8.0新语法

    准备工作: Visual Studio 2019 Preview版本中并没有包含所有的C# 8.0的新功能,但目前也有一些可以试用了.在开始之前,需要进行入两项设置: 将Framework设置为.ne ...

  2. Visual Studio 2012 应用软件开发新方式

    微软正式发布Visual Studio 2012 应用软件开发新方式 2012-09-13 09:54 51CTO.com 我要评论(0) 字号:T | T “现在,开发者将有更好的机会开发与云服务连 ...

  3. 在Visual Studio for Mac中使用fastlane管理iOS的provision

    Xamarin开发中,最烦的就是provision的管理了. 全手工的话,要先创建一个key,上传后生成cert文件,再创建provision.如果在手机上调试,还要把手机加到provision中去. ...

  4. 在 Visual Studio for Mac 中编译和生成

    使用Visual Studio将C#生成DLL文件的方法 https://www.cnblogs.com/AaronBlogs/p/6840283.html Visual Studio 开发 - Vi ...

  5. Visual Studio 原生开发的10个调试技巧(二)

    原文:Visual Studio 原生开发的10个调试技巧(二) 我以前关于 Visual Studio 调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识.以下的列表中你可以看到写原 ...

  6. 使用Visual Studio Code开发(编译、调试)C++程序

    总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...

  7. Visual Studio 2015 RC中的ASP.NET新特性和问题修正

    (此文章同时发表在本人微信公众号"dotNET每日精华文章") 微软在Build大会上发布了Visual Studio 2015 RC,这也预示着Visual Studio 201 ...

  8. Visual Studio 2013 Web开发新特性

    微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...

  9. 在Visual Studio 2010/2012中 找不到创建WebService的项目模板

    参考文章: http://blog.sina.com.cn/s/blog_6d545999010152wb.html 在 Visual Studio 2010 或者2012的新建 Web 应用程序或者 ...

  10. visual studio 配置属性中增加自定义宏和宏值

    visual studio中有一些预先定义的宏,用于配置项目属性,如SolutionDir.我们也可以自定义类似的宏,从而在配置包含目录(include)或添加依赖项时简化配置项. 如何创建自己的宏呢 ...

随机推荐

  1. [转]CMake菜谱(CMake Cookbook中文版)

    CMake菜谱(CMake Cookbook中文版) 翻译 搜索 复制

  2. 轻松玩转 JMeter 测试计划组件

    轻松玩转 JMeter 测试计划组件 宝子们,今天咱就来唠唠 JMeter 里那个超重要的测试计划组件,它可是整个性能测试的 "指挥官",把各种测试元素安排得明明白白. 一.测试计 ...

  3. Awesome-Text2GQL:图查询微调语料的自动生成框架

      过去一年,GraphRAG技术发展如火如荼,尤其是基于关键词.向量驱动的知识检索方法不胜枚举.然而通过子图召回的检索方式,对用户真实查询意图的定位仍缺乏足够的准确度.我们需要更直接的方式,将自然语 ...

  4. 内存吞金兽(Elasticsearch)的那些事儿 -- 写入&检索原理

    系列目录 内存吞金兽(Elasticsearch)的那些事儿 -- 认识一下 内存吞金兽(Elasticsearch)的那些事儿 -- 数据结构及巧妙算法 内存吞金兽(Elasticsearch)的那 ...

  5. C#/.NET/.NET Core优秀项目和框架2024年12月简报

    前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍.功能特点.使用方式以及部分功能 ...

  6. CentOS扩容boot分区并升级内核

    本文作者CVE-柠檬i:https://www.cnblogs.com/CVE-Lemon 前言 由于安装k8s需要升级内核,但我自己的的boot分区只有200M大小,无法安装新内核,所以干脆把swa ...

  7. 原生JS实现一个日期选择器(DatePicker)组件

    这是通过原生HTML/CSS/JavaScript完成一个日期选择器(datepicker)组件,一个纯手搓的组件的开发.主要包括datepicker静态结构的编写.日历数据的计划获取.组件的渲染以及 ...

  8. Django和FastAPI的比较

    在 Python 的 Web 开发领域,Django 和 FastAPI 是两款备受瞩目的框架. 通过对二者的实践与比较,本文总结了它们的特点与适用场景,希望能给开发者在选择时提供参考. 1. 设计理 ...

  9. JS深度理解

    事件循环 程序运行需要有自己专属的内存空间,可以把这块内存简单理解为进程 每个应用至少有一个进程,进程间相互独立,要通信,也需要双方同意 线程 有进程后,就可以运行程序的代码 运行代码的 [人] 称为 ...

  10. Git 忽略文件配置全解析

    Git 忽略文件配置全解析 在Git版本控制系统中,.gitignore文件扮演着至关重要的角色.它允许我们指定哪些文件或目录应该被Git忽略,即不被纳入版本控制之中.这对于避免提交敏感信息.构建产物 ...