调试及其他2018-01-10T08:21:15-08:00

Visual Studio 入门

应用构建工具的图形

如果你仍需要安装 Visual Studio构建你的第一个应用,请查看我们之前的文章。

crosslanguage

跨语言调试

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

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

任意平台或位置

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

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

使用 IntelliTrace 和转储文件的深入分析等功能,您可以在生产环境中离线调试相关问题。 要了解有关这些功能的更多信息,请按照有关使用 IntelliTrace 的演练执行操作。

anyplatform

FineGrained

精细控制

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

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

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

灵活的检查状态

在运行时查看变量的值

在你想要的位置暂停应用程序以后,Visual Studio 会向你提供很多方法以检查你的变量的值,从而形成或验证一个假设。

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

flexibility

exceptions

期望是美好的

在出错时进行提醒

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

在使用 Visual Studio 进行调试时,你可以配置出现异常时的通知,甚至选择要关注的特定相关异常。 您会收到提醒,并且从此处开始,就像您已到达断点那样简单。

使线程处理变得容易

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

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

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

threading

metal

接近金属…

根据代码的需要深入挖掘

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

防止性能问题

使您的应用更快、更强大

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

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

preventperf

nonorepro

不再“无法重现”

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

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

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

简单的 UI 调试

XAML 和 HTML 也是代码

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

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

IC791027

反馈