调试、分析和诊断

快速找到代码中的 Bug

editing-your-code-1-562x309@2x

跨语言调试

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

无论您使用哪种语言(从 C#/VB 和 C++ 到 JavaScript 和 Python 再到 XAML 和 HTML),Visual Studio 都可提供卓越的调试体验,因为所有受支持的语言都具有调试支持。

如果您的应用混合不同语言,您还可以使用混合模式调试跨语言边界进行互操作调试。

任意平台或位置

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

无论您的代码在何处运行,Visual Studio 都可以对它进行调试。例如,从在桌面上或 Android 仿真器中启动本机 Windows 应用,到附加远程 Azure 实例、iOS 设备或游戏控制台,或到任意 Web 浏览器。

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

精细控制

确定您要中断和检查状态的精确位置和时间

通过 Visual Studio 调试器,您可以对执行情况进行控制。也就是说,可以确定您要暂停进程中所有线程的确切位置并检查那时的状态。 你可以随时执行“全部中断”、逐过程执行语句、执行“单步执行”和“单步退出”函数、执行“运行以单击”、执行“编辑并继续”,以及执行所有人的最热衷的“设置断点”。

接着,将所有内容带到下一级并为你的断点配置灵活的条件和操作

灵活的检查状态

在运行时查看变量的值

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

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

期望是美好的

在出错时进行提醒

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

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

使线程处理变得容易

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

众所周知,多线程代码很难进行调试。 通过 Visual Studio,你可以同时控制多个线程的执行并跨多个线程检查状态以使大图片流行起来。

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

接近金属…

根据代码的需要深入挖掘

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

防止性能问题

使您的应用更快、更强大

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

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

IntelliTrace

不再“无法重现”

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

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

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

简单的 UI 调试

XAML 和 HTML 也是代码

在运行应用时,您可以让应用的外观变成您希望的样子,无需依赖设计时间数据来验证您的布局。

对于含有 HTML 或 XAML 用户界面的应用,使用代码调试功能识别 UI 层中的问题。 通过 Visual Studio,您还可以探索 HTML DOM,并在运行应用时使用 XAML 可视树查看 XAML 代码的结构。

适用于学生、开源和个人开发人员的功能完备的免费 IDE

免费下载

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

免费试用

满足所有规模大小的团队的要求质量和规模的端到端解决方案

免费试用