调试、配置文件和诊断代码 | Visual Studio2021-11-08T07:36:08-08:00

快速查找 bug

轻松检查、诊断和分析

跨语言调试

适用于所有代码的丰富调试功能

在调试时快速查看编辑器中的变量信息。 使用数据提示查看变量名称和当前值、展开对象并查看其元素,以及编辑变量值。

任意平台或位置

本机、远程以及在生产环境中

Visual Studio 可以调试代码,而不考虑代码的运行位置,无论是在桌面或 Android 仿真器中启动本机 Windows 应用时运行,还是在附加远程 Azure 实例时运行,亦或是在 iOS 设备、游戏控制台或任意 Web 浏览器中运行。

使用 IntelliTrace 和转储文件的深入分析等功能,您可以在生产环境中离线调试相关问题。

调试窗口的屏幕快照

精细控制

确定要中断和暂停应用程序执行的确切位置和时间

使用断点来暂停怀疑其中有 bug 的正在运行的程序。 通过将高级断点与条件和操作结合使用来评估更复杂的方案或依赖于使用的断点,从而轻松调试应用程序代码中的常见路径,将内容提升到更高级别。

在特定行处跳转到调试模式可以更轻松地使用运行来运行到光标或快进调试,而不会因为强制运行到光标丢失断点。

灵活检查状态

在深色主题中,它是同一图像

在所需的位置暂停应用程序后,可以通过 Visual Studio 提供的多种方法来检查变量值、形成或验证假设。

在单步调试代码的同时监视相关值;查看本地变量并评估复杂表达式,无需离开调试器即可完成所有操作。 你甚至可以交互方式深入查询数据结构。

异常情况良好

在出错时进行提醒

代码缺陷和意外情况显现为异常。 这些异常将使您的应用崩溃或直接变成难以跟踪的 Bug。

在使用 Visual Studio 进行调试时,可以配置出现异常时的通知,甚至选择要关注的特定相关异常。 你将立即从那里收到内部异常信息和 null 引用分析的警告,如同你已命中断点一样简单。

已简化线程处理

简化对复杂多线程代码的控制和检查

众所周知,多线程代码很难进行调试。 通过 Visual Studio,可以同时控制多个线程的执行,并跨多个线程检查状态以掌控全局。

在单个图形视图中查看所有线程调用堆栈,并跨多个线程评估表达式以比较值。 轻松查看有关线程和任务的信息,对它们进行标记并冻结它们。 在执行上下文之间快速切换,并随时使用线程标记查看线程正在执行哪些代码行。

接近金属…

根据代码的需要深入挖掘

有时,尤其是对于系统级 C++ 代码,需要更接近硬件级以诊断难以找到的 Bug。 Visual Studio 支持您通过“内存”、“寄存器”和“反汇编”窗口来完成此操作。

预防性能问题

使您的应用更快、更强大

获取信息以帮助您在编码时做出适当的性能选择。 调试时,使用编辑器中的 PerfTips 和诊断工具来了解代码的性能和内存特点。

使用完整的分析工具(无需调试器)更深入地分析您应用的性能,包括 CPU、GPU、内存使用情况、UI 响应和网络使用情况。

综合性能工具包

一个工具,满足所有需求

无论是需要使用 .NET 分配工具分析 CPU 使用率还是跟踪不需要的内存分配,性能探查器都可提供推动性能调查的工具。

可视化昂贵的代码路径

帮助你发现性能问题的可视化效果

性能探查器具有丰富的可视化效果,例如 CPU 使用工具中的火焰图,用于跟踪哪些代码路径占用了 CPU 的大部分时间。 在调用堆栈中找到感兴趣的函数后,直接转到源代码以改进性能!

汇总的性能见解

性能见解概览

通过 CPU 使用情况工具中的摘要页快速获取见解! 已突出显示排在前面的函数,即热路径,因此可以直接查找性能问题的原因。

不再“无法重现”

.NET 代码的代码执行历史记录

当您编辑并按 F5 对您的 .NET 代码进行测试时,您会遇到异常行为,即一个 Bug。 有时,诊断该 Bug 需要几个小时来搜索整个源代码以查找相关的代码段并重复猜测设置中断的位置。

使用 Visual Studio 诊断工具和 IntelliTrace,可以查看代码执行的历史记录并导航返回到检查状态(无需断点)。

面向学生、开放源代码和单个开发人员的免费且功能齐全的 IDE

免费下载

适用于小型团队的专业开发人员工具、服务和订阅权益

免费试用版

满足各种规模团队的苛刻质量和缩放需求的端到端解决方案

免费试用版

反馈