【IT168 技术】Windows 8.1和Visual Studio 2013具备改进的异常报告机制,这使得基于C++的Windows Store App开发者可以容易识别并修正错误。由于Windows 8.1增加对Windows Runtime组件中报告的异常堆栈的捕捉,Visual Studio 2013调试器提供了能捕捉从Platform::Exception继承的异常对象的堆栈。
为了能使用上面提到的功能,你需要启动调试器,在catch块中设置一个断点,并在主应用页面中选择异常处理的按钮。调试器将捕捉所有在ThrowDataReaderError方法中可能抛出的异常。
Visual Studio 2012会在对话框中显示开发应用过程中COM的异常堆栈信息。它在[External Code]的帧中显示堆栈信息,并表明Just My Code这个新的本机调试功能是否被激活。
该对话框还包括一个新的链接“Add exception stack trace to watch”,它在监视窗口中增加了新的$exceptionstack伪变量。此外,Visual Studio 2013在监视窗口中显示额外的堆栈信息包括在上下文菜单的Go to Source Code的功能帮助下,显示异常的堆栈帧。
Visual Studio2013中允许在监视窗口中添加$exceptionstack变量去查看最后捕捉到的异常栈。此外,_M_stackTrace代替了原来的_M_disassembleMe,并为任务创建栈增加了完整的堆栈信息,因此能在创建的栈所列出的帧中轻易地导航找到相关的源代码。