Visual Studio 2013 中调试器的新增功能

内容

Asynchronous Debugging in Windows Store Apps

Just My Code for C++ and JavaScript Debugging

64-bit Edit and Continue for the .NET Framework

Return value inspection for .NET Framework Methods

.NET Framework Memory Analysis with Dump Files

Debug with Debugging Tools for Windows

Code Map Debugging

IntelliTrace Debugging

Windows 应用商店应用中的异步调试

调试器增强了对 Windows 运行时异步编程模型的支持。 在 .NET Framework 语言中,模型通过 async/await 关键字来表示(在 Visual Basic 中为 Async/Await)。 在 C++ 和 C++/Cx 中,task 对象和 .then 延续支持该模型。 并且,JavaScript 使用 promise 对象和 .then 延续。

  • **“调用堆栈”**窗口显示调用 [Async Call] 信息框下异步函数的方法。

  • **“任务”**窗口(以前称为“并行任务”窗口)以任务的形式显示新模型,同时显示与任务有关的增强信息。 请参阅使用“任务”窗口

  • 增强的 C++ Windows 应用商店应用异常报告 Visual Studio 调试器现在支持在 Windows 运行时组件中出现 C++ 异常时,捕获其堆栈跟踪。 只要从 Platform::Exception 派生的异常对象上存在堆栈跟踪,调试器就可以显示这些捕获的堆栈跟踪。

    首次异常时调试器所显示的异常对话框会列出该异常发生时的堆栈跟踪。

    你可以向“监视”窗口添加 $exceptionstack psuedovariable,以便在调试会话中检查将来的 Windows 运行时异常。 如果在当前线程中出现异常,则可以展开“监视”窗口中的条目以查看堆栈跟踪并导航到引发异常的源代码。 你还可以选择异常对话框中的**“添加要监视的异常堆栈跟踪”**链接,以便监视 $exceptionstack。

    有关详细信息,请参阅“Visual Studio ALM + Team Foundation Server”博客上的这篇博文

适用于 C++ 和 JavaScript 调试的“仅我的代码”

“仅我的代码”可以在“调用堆栈”窗口中隐藏非用户代码,例如系统、Win.JS 以及第三方库中的代码。 当你调试异步代码或在 JavaScript 和 C++ 混合模式下进行调试时,通过“仅我的代码”可以更轻松地找到你的方法。

默认情况下,“仅我的代码”在 Visual Studio 2013 中处于开启状态。 若要查看调用堆栈上的所有代码,请选择**“调试”菜单上的“选项和设置”,然后清除“启用‘仅我的代码’”**复选框。 请注意,此设置适用于所有支持“仅我的代码”的编程语言。

适用于 .NET Framework 的 64 位“编辑并继续”

调试器现在支持对面向 64 位平台的应用执行“编辑和继续”。

.NET Framework 方法的返回值检查

现在,你可以在“自动”窗口中查看方法的返回值。 这对于嵌入方法(作为参数传递给其他函数的方法)尤其有用:

代码编辑器中的嵌入方法“自动”窗口中的方法返回值

请参见检查方法调用的返回值

.NET Framework 使用转储文件关联的内存分析

在生产环境中运行的 .NET 应用程序经常会受其内存使用问题的影响,这一问题不仅可能会影响应用程序,甚至可能会影响整个计算机。 Visual Studio 2013 扩展了其转储文件分析工具,以帮助你在 .NET Framework Web、数据库和桌面应用程序中查找内存泄漏、低效内存使用和不必要的分配。

备注

Windows 应用商店应用不支持使用 .NET Framework 转储文件进行内存分析。有关 JavaScript 应用的信息,请参阅分析 Windows 应用商店应用中的内存使用情况 (JavaScript)

有关 .NET 内存分析工具的详细信息,请参阅“Visual Studio ALM + Team Foundation Server”博客上的这篇博文。 有关转储文件的详细信息,请参阅使用转储文件在 Visual Studio 中调试应用程序崩溃和挂起

使用 Windows 调试工具进行调试

备注

可帮助你调试 WinDbg 中托管程序的 SOS.dll(SOS 调试扩展)无法从 Visual Studio IDE 使用。请参阅使用 Windows 调试器调试托管代码

你可以在 Visual Studio IDE 中使用 Windows 调试工具。 你必须安装 Windows 驱动程序工具包 (WDK) 中的调试工具。 请参阅 Windows 8.1 预览版:下载工具包、组件和工具

代码图调试

通过创建代码图,在 Visual Studio 旗舰版中进行调试时,将调用堆栈可视化。 你还可以使用代码图浏览自己的代码。 请参阅在 Visual Studio 中调试时映射调用堆栈上的方法

使用代码图上的调用堆栈调试

IntelliTrace 调试

  • 监视你的应用的部署问题。

    可以单独使用 Microsoft Monitoring Agent 以便在本地监视 IIS Web 应用的异常和性能事件,也可以与 System Center 2012 一起进行使用。 可以将这些事件记录到 IntelliTrace 日志中,以便能够在 Visual Studio 旗舰版中进一步调查这些问题,并在开始从特定事件调试时转到已部署的代码中。

    查看性能事件详细信息

    从方法调用开始调试

    从性能事件转到应用程序代码

  • 使用 Microsoft Monitoring Agent 记录部署中的 SharePoint 2010 和 SharePoint 2013 应用程序的诊断事件。

    可以将用户配置文件事件、统一日志记录系统 (ULS) 事件和 IntelliTrace 事件保存到 IntelliTrace 日志中,以便可以在 Visual Studio 旗舰版中进一步调查这些问题并使用 IntelliTrace 在特定事件中开始调试。

    IntelliTrace 日志文件 - 查看 Web 请求 + 事件

请参阅部署之后设置发行版本以诊断问题System Center 2012 R2 Operations Manager 新增功能

请参见

概念

调试器安全

其他资源

使用 Visual Studio 进行调试