你不得不知道的Visual Studio 2012(2)- 全新调试功能

Windows 8 带来了一种新的应用程序生命周期模型,其中 Windows 商店应用程序会为用户自动管理。即使它们从未运行过,也没有显示在屏幕上,这些应用程序仍然是激活状态的。这对能量消耗和电池寿命来说有好处。下图是Windows 商店应用程序的生命周期模型图。

在这篇文章中,我们一起看看Visual Studio 2012在针对Windows 商店应用程序生命周期特点,所作出的调试改进,包括从JavaScript 调试,到Windows 8 模拟器,到Windows RT 设备上的远程调试。

模拟事件

在此过程中,我们遇到的第一个挑战是如何来模拟你的应用程序在现实世界使用中会遇到的事件,以便你可以调试这些有趣的情况。如何模拟应用程序被激活、被暂停以及被终止?

为了确保以上事件都可以简单方便的对应到Visual Studio中,Visual Studio中添加了以下三个命令:Suspend(暂停)、Resume( 继续)和" Suspend and Shutdown(暂停和关闭)"。

  1. 暂停:在应用程序处理事件之后,暂停命令让应用程序处于暂停状态。
  2. 继续:继续运行应用程序,使其重新进入运行状态,并将它作为在前台活动的应用程序。
  3. 暂停和关闭"暂停和关闭"首先会"暂停"。然后终止应用程序,并停止调试。

你一定和我想的一样:为什么需要创建一个"暂停和关闭"的命令呢?此命令的目的是模拟当你的应用程序由Windows 8暂停和终止时,发生的自然顺序事件。例如,当你通过停止调试,来关闭应用程序,这时不会触发暂停事件。当你通过按 Alt + F4 或将其拖动到屏幕的底部来显式地关闭该程序。在这种情况下,在终止该应用程序之前,会触发一个暂停事件;但下一次用户激活该应用程序时,其PreviousExecutionState将是ClosedByUser (这不是VS2012试图模拟的).因此,"暂停和关闭"命令用来模拟应用程序被Windows暂停和终止,而不是由用户显式地关闭。

 

命令

在 Visual Studio 2012中,程序运行后工具栏中出现下拉Combo选择框,这些命令按钮在下拉列表中:

请注意"调试位置"工具栏不是总是被启用的。因此,如果你看不到此工具栏,请通过视图菜单启用它:

 

应用程序激活

在调试器中,我们可以模拟应用程序激活。

当你开始在 Visual Studio中调试Metro样式应用程序时,默认情况下,应用程序自动被激活。(这与磁片激活非常类似。)

不过,还有一些其他方式。例如,你的应用程序可以接收与另一个应用程序共享的某些内容,并通过协议或扩展激活。(有关其工作原理的更多信息,请参阅共享内容目标应用程序示例。)

Visual Studio 2012 中提供了功能来让你在某应用启动时自动进入调试状态,但是VS本身不会自动启动它(为了模拟这些其他激活的方案)。

当你设置此选项,启动调试你的项目时,Visual Studio 2012 将进入调试模式,但实际上没有运行任何东西。你还会注意到"调试位置"工具栏上显示了你的项目名称,而不是显示正在运行的进程。

这表明由该项目部署的应用程序软件包是在调试模式下,一旦该软件包的应用程序被激活了,调试器就会附加到进程中。

我们可以模拟与另一个应用程序共享文本,并选择示例应用程序作为共享目标。在这种情况下,应用程序被激活了,我们可以调试它。请注意,现在"调试位置"工具栏显示正在运行的实际进程(而不是之前的项目名称)。

 

调试后台任务

调试器可以模拟另一个 Windows 8 行为,这就是后台任务。后台任务是你的应用程序可能需要在后台执行某些操作,虽然这类应用程序不在屏幕上,也没有运行。

后台任务是由像计时器事件这样的系统事件所触发的。(你的应用程序至少需要运行一次来注册任务)。后台任务在提供寄宿的系统中正常运行,但是,你也可以为一些后台任务触发器提供你自己的可执行文件。无论哪个进程承载该任务,后台任务都作为你的软件包的一部分运行。

当你的软件在调试模式下时,一旦开始之后,调试器会自动附加到承载进程中。

假设,你可以在某一时间调试来自多个软件包的应用程序,我们需要在一个控件中展示这些,而且这个控件能够基于任务的数量而扩展。因此,VS2012添加这些到上图所示的同一"调试位置"工具栏下拉列表中。其结果是,为当前活动状态的软件包而注册的所有后台任务的触发器命令都将出现在此下拉列表中。作为一个例子,当调试后台任务示例时,注册之后,你将在下拉列表中看到以下后台任务。

 

下一步,若要调试后台任务,添加一个断点到OnNavigatedTo方法中,然后触发后台任务:

看到了吧,调试后台任务就这么简单 !

时间: 2024-10-26 07:36:30

你不得不知道的Visual Studio 2012(2)- 全新调试功能的相关文章

你不得不知道的Visual Studio 2012(1)- 每日必用功能

Visual Studio 2012已经正式发布,有很多花哨的新特性,也有很多方便使用者的新功能,当然也有负面声音.对于我们程序员,最关心的还是如何快速掌握VS2012,用于平时的工作中.本系列目的在于让大伙和我们一起完成这一目标.   项目类型 在创建基本Windows应用的过程中,我们可以通过VS2012创建更多的项目类型.例如 WinForms WPF. 控制台. Visual Basic 和 C# ,以及 Win32 项目的类库.C++的CLR 程序.您还可以结合 C++. C# 和 V

Visual Studio 2005的编译调试功能

Edit and Contiue功能 在调试程序的时候,经常会遇到这样的情况:在调试一大段代码时,遇到了一个小的错误,比如参数的赋值错误了,这时候,往往希望能够马上将这些小的错误改正过来后,能够继续调试跟踪下去,而不用结束整个调试过程去修改.在Visual Studio 2003中,我们必须停止当前的调试,修改错误的地方,再重新编译,这样十分不方便.在Visual Studio 2005 中,提供了一个新的功能叫"edit and continue",意思是说,当你在调试时,遇到小的错

visual studio 2012安装图解教程

Visual Studio 2012 拥有全新的开发界面和诸多新功能,Visual Studio 2012是我们到目前为止最卓越的版本. 它的目的就是帮助您在贵在创意.重在速度的市场中发展壮大. 让我们来看一看它帮助您将创意快速转化为应用程序的一些方法. Visual Studio 2012 RC 的安装: 首先,推荐安装环境.Windows 7 或者更高的版本! 插入Visual Studio 2012 光碟,或者用虚拟光驱加载 Visual Studio 2012 镜像! 打开光驱或者虚拟光

《ASP.NET 开发从入门到精通》----2.2 Visual Studio 2012概述

2.2 Visual Studio 2012概述 知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\全新的Visual Studio 2012.avi Visual Studio.NET是微软为适用.NET平台而推出的专用开发工具,它是一个集成的开发环境,能够编写Visual Basic.NET.Visual C++ .NET.Visual C#.NET和Visual J# .NET等专业编程语言.通过Visual Studio 2012可以在同一项目内使用不同的语言,并能实现它们之间的相互

如何在Visual Studio 2012中禁用Shift+Delete快捷键的剪切操作

在 Visual Studio 2012 中编写代码时,一个经常用到的快捷键是 Shift+Delete(删除整行). 刚刚从之前的博文(Visual Studio 2012令人恼火的默认设置:Ctrl-C会复制空行清空剪贴板)的评论中得知这个快捷键会进行剪切操作: 心态要好: 不仅ctrl-c会占用剪贴板,ctrl-x也会,就连接常用的整行删除(shift delete)也会占用剪贴板 我都想不通了,按下shift delete就是整行删除咯,还把这行的内容放到剪贴板里是什么意思 那如何解决这

visual studio 2012空格上为何出现蓝色的点和箭头

visual studio 2012空格上出现蓝色的点和箭头: 突然发现打开visual studio 2012的时候出现了很多蓝色的点和箭头,解决办法是:按快捷键Ctrl+R+W 或 Ctrl+E+S,一切都搞定了. 事实上很多时候我们希望看看代码和代码之间究竟空了多少距离,似乎肉眼看并不明显,Visual Studio 2010 给我们提供了这样的功能.我们先看一段平常的代码,如下图所示: 更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn

Visual Studio 2012 单元测试之泛型类(Generics Unit Test)

关于单元测试,如果不会用可以参照我的上篇博文----在Visual Studio 2012使用单元测试 首 先分享一篇博文,[Visual Studio] 开启Visual Studio 2012通过右键菜单创建单元测试(Unit Test). 泛型有两种,一般泛型与类型约束泛型,在对包含泛型的方法进行单元测试中也可以这么分,详情可 参阅http://msdn.microsoft.com/en-us/library/vstudio/ms243401.aspx  .从该页面可以知道,关于 泛型的单

Visual Studio 2012能让你更好的测试Windows 8应用

微软在推出Windows 8 RTM同时也开放了Windows Store,应用开发者可以开始 在商店里提交Windows 8付费应用.在他们考虑上传应用时,开发者们应该尝试测 试这些应用,看它们能否在几种不同类型的Windows 8硬件中运行良好.在官方的 Windows 8应用开发者博客的新博文中,微软详细解说了应用开发者可以如何使用 Visual Studios 2012测试他们的作品.其中包括确保该应用可以在不同屏幕尺寸 和分辨率中运行良好. 微软在文中表示: 测试的首要任务之一就是任何

Visual Studio 2012.2中文版开下了

  微软的Visual Studio团队日前放出了Visual Studio 2012 Update 2的升级,本次升级主要增加了一系列新功能,并对之前存在的Bug进行了修复. Visual Studio 2012.2 本次新版本名为Visual Studio 2012.2,加入的新功能主要包括敏捷规划.质量支持.业务线应用程序开发和开发体验,此外Windows Store开发也过得了一些新功能. 与Windows和Windows Phone.Windows Azure等产品一样,Visual