调试、配置文件和诊断代码 | Visual Studio2023-05-15T12:52:44-07:00

快速查找 bug

轻松检查、诊断和分析

跨语言调试

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

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

任意平台或位置

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

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

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

调试窗口的屏幕快照

精细控制

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

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

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

灵活的检查状态

这是同一图像,只是采用深色主题

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

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

在出错时获得警报

代码缺陷和意外情况显现为异常。 这些异常会使你的应用崩溃,或者仅仅是变成难以跟踪的 bug。

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

Build rich cross-platform native apps

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

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

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

Access everything you need in one place

根据代码的需要深入挖掘

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

Build rich cross-platform native apps

使你的应用更快、更强大

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

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

Build rich cross-platform native apps

一个工具,满足你的所有需求

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

Comprehensive performance toolkit

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

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

Visualize expensive code paths

性能见解概览

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

Summarized performance insights

不再“无法重现”

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

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

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

反馈