如何启动调试会话 (JavaScript)

本主题介绍如何针对用 JavaScript 和 HTML5 编写的 Windows 应用商店应用程序启动调试会话。可点击一个按键启动调试,也可配置特定方案的调试会话,然后选择启动应用程序的方式。

在本主题中

In this topic

The easy way to start debugging

Configure the debugging session

  • Open the debugging property page for the project

  • Choose the build configuration options

  • Choose the deployment target

  • Choose the debugger to use

  • (Optional) Delay starting the app in the debug session

  • (Optional) Disable network loopbacks

Start the debugging session

  • Start debugging (F5)

  • Start debugging (F5) but delay the app start

Start an installed app in the debugger

Attach the debugger to a running app

  • Set the app to run in debug mode

  • Attach the debugger

启动调试的简单方法

  1. 在 Visual Studio 中打开应用程序解决方案。

  2. 按 F5。

Visual Studio 生成并启动附有调试器的应用程序。持续执行至抵达某个断点、手动暂停执行、发生无法处理的异常或应用程序结束为止。有关更多信息,请参见快速入门:调试应用程序 (JavaScript)

配置调试会话

由于不编译脚本,因此不适用生成配置和平台设置。如果要调试 C++ 或托管组件,请将**“配置”设置为“调试”,然后从“配置”**对话框中选择目标平台。

Hh771032.collapse_all(zh-cn,VS.110).gif打开项目的调试属性页

  1. 在解决方案资源管理器中,选择该项目。在快捷菜单中,选择**“属性”**。

  2. 展开**“配置属性”节点,然后选择“调试”**

Hh771032.collapse_all(zh-cn,VS.110).gif选择生成配置选项

  1. 从**“配置”列表中,选择“调试”“(活动)调试”**。

  2. 从**“平台”列表中选择要生成的目标平台。大多数情况下,“任意 CPU”**是最佳选项。

Hh771032.collapse_all(zh-cn,VS.110).gif选择部署目标

可在 Visual Studio 计算机上、本地计算机上的 Visual Studio 模拟器中或远程计算机上部署和调试应用程序。从项目的**“调试”属性页上的“要启动的调试器”**列表中选择目标。

从**“要启动的调试器”**列表中选择以下这些选项之一:

本地计算机

在本地计算机上的当前会话中调试应用程序。请参见在本地计算机上运行 Windows 应用商店应用程序

模拟器

在 Visual Studio 的 Windows 应用商店应用程序模拟器中调试应用程序。模拟器是一个桌面窗口,在该窗口中可调试本地计算机上未提供的设备功能,如触摸手势和设备旋转。请参见在模拟器中运行 Windows 应用商店应用程序

远程计算机

在通过 Intranet 连接到本地计算机或使用以太网电缆直接连接到本地计算机的设备上调试应用程序。若要进行远程调试,必须安装 Visual Studio 远程工具,并且远程设备上必须正在运行这些工具。请参见在远程计算机上运行 Windows 应用商店应用程序

如果选择**“远程计算机”**,则按以下某种方式指定远程计算机的名称或 IP 地址:

  • 在**“计算机名称”**框中,输入远程计算机的名称或 IP 地址。

  • 选择**“计算机名称”框中的向下箭头,然后选择“<定位...>”。然后,从“选择远程调试器连接”**对话框中选择远程计算机。

    选择远程调试器连接

    备注

    “选择远程调试器连接”对话框显示本地子网上的计算机以及通过以太网电缆直接连接到 Visual Studio 计算机的计算机。若要指定其他计算机,请在“计算机名称”框中输入名称。

Hh771032.collapse_all(zh-cn,VS.110).gif选择要使用的调试器

默认情况下,调试器附加到应用程序中的 JavaScript 代码。可选择调试应用程序组件的本机 C++ 和托管代码而非 JavaScript 代码。在应用程序项目的**“调试”属性页上“调试器类型”**列表中指定要调试的代码。

从**“调试器类型”**列表中选择以下这些调试器之一:

仅限脚本

调试应用程序中的 JavaScript 代码。忽略托管代码和本机代码。

仅限本机

调试应用程序中的本机 C/C++ 代码。忽略托管代码和 JavaScript 代码。

仅限托管

调试应用程序中的托管代码。忽略 JavaScript 代码和本机 C/C++ 代码。

混合(托管和本机)

调试应用程序中的本机 C/C++ 代码和托管代码。忽略 JavaScript 代码。

Hh771032.collapse_all(zh-cn,VS.110).gif(可选)在调试会话中推迟启动应用程序

默认情况下,启动调试后,Visual Studio 将立即启动应用程序。也可启动调试会话但推迟启动应用程序。从“开始”菜单或由激活协定启动应用程序时或者其他进程或方法启动应用程序时,将在调试器中启动应用程序。还可以使用延迟启动在应用程序中调试希望在应用程序未运行时出现的后台事件。

在应用程序项目的**“调试”属性页上的“启动应用程序”**列表中指定是否推迟启动应用程序。选择以下某个选项:

  • 选择**“否”**推迟启动应用程序。

  • 选择**“是”**立即启动应用程序。

Hh771032.collapse_all(zh-cn,VS.110).gif(可选)禁用网络环回

为安全起见,不允许以标准方式安装的 Windows 应用商店应用程序对装有它的设备进行网络调用。默认情况下,Visual Studio 部署功能为所部署的应用程序创建此规则的例外。通过此例外,在一台计算机上即可测试通信过程。向 Window 应用商店提交应用程序之前,应在没有例外的情况下测试应用程序。

若要移除网络环回例外,请从**“调试”属性页上的“允许网络环回”列表中选择“否”**。

启动调试会话

Hh771032.collapse_all(zh-cn,VS.110).gif启动调试 (F5)

在**“调试”菜单上选择“启动调试”**(键盘:F5)时,Visual Studio 启动附带调试器的应用程序。持续执行至抵达某个断点、手动暂停执行、发生无法处理的异常或应用程序结束为止。

Hh771032.collapse_all(zh-cn,VS.110).gif启动调试 (F5),但推迟启动应用程序

您可以将应用程序设置为在调试模式中运行,但让其通过调试器之外的方法启动。例如,您可能需要调试从“开始”菜单进行的应用程序启动,或在不启动应用程序的情况下调试应用程序中的后台进程。若要延迟应用程序启动,请执行下列操作:

  1. 在应用程序项目属性的**“调试”页上,从“启动应用程序”列表中选择“否”**。

  2. 在**“调试”菜单上,选择“启动调试”**(键盘:F5)。

  3. 从“开始”菜单、执行协定或由其他过程启动应用程序。

随后应用程序在调试模式下启动。持续执行至抵达某个断点、手动暂停执行、发生无法处理的异常或应用程序结束为止。

.有关调试后台任务的更多信息,请参见如何在 Windows 应用商店应用程序中触发挂起、继续和后台事件

在调试器中启动已安装的应用程序

在使用 F5 启动调试时,Visual Studio 会生成并部署应用程序,将应用程序设置为在调试模式中运行,然后启动应用程序。若要启动设备上已安装的应用程序,请使用“调试安装的应用程序包”对话框。在需要调试已从 Windows 应用商店安装的应用程序时,或在具有应用程序的源文件但没有针对应用程序的 Visual Studio 项目时,此过程非常有用。例如,您的自定义生成系统可能不使用 Visual Studio 项目或解决方案。

应用程序可安装在本地设备上,也可安装在远程设备上。您可以立即启动应用程序,或将应用程序设置为当其通过其他进程或方法(如从“开始”菜单或通过激活协定)启动时在调试器中运行,也可以将应用程序设置为当需要在未启动应用程序的情况下调试后台进程时在调试模式中运行。有关更多信息,请参见如何在 Windows 应用商店应用程序中触发挂起、继续和后台事件

若要将已安装的应用程序设置为在调试模式中运行,请执行下列操作:

备注

在您启动此过程时,应用程序不得运行。

  1. 在**“调试”菜单上,选择“调试安装的应用程序包”**

  2. 请从列表中选择下列选项之一:

    本地计算机

    在本地计算机上的当前会话中调试应用程序。请参见在本地计算机上运行 Windows 应用商店应用程序

    模拟器

    在 Visual Studio 的 Windows 应用商店应用程序模拟器中调试应用程序。模拟器是一个桌面窗口,在该窗口中可调试本地计算机上未提供的设备功能,如触摸手势和设备旋转。请参见在模拟器中运行 Windows 应用商店应用程序

    远程计算机

    在通过 Intranet 连接到本地计算机或使用以太网电缆直接连接到本地计算机的设备上调试应用程序。若要进行远程调试,必须安装 Visual Studio 远程工具,并且远程设备上必须正在运行这些工具。请参见在远程计算机上运行 Windows 应用商店应用程序

  3. 从**“安装的应用程序包”**列表中选择应用程序。

  4. 从**“调试此代码类型”**列表中选择要使用的调试引擎。

  5. (可选)。选择**“不启动,但在启动时调试代码”**以在通过其他某种方法启动应用程序时调试应用程序或调试后台进程。

在单击**“启动”**时,应用程序将启动或设置为在调试模式中运行。

将调试器附加到正在运行的应用程序

若要将调试器附加到 Windows 应用商店应用程序,必须使用可调式包管理器将应用程序设置为以调试模式运行。可调式包管理器与 Visual Studio 远程工具一并安装。

当需要调试已安装的应用程序(如从 Windows 应用商店安装的应用程序)时,将调试器附加到应用程序很有用。在拥有应用程序的源文件,但没有应用程序的 Visual Studio 项目时,必须进行附加。例如,您的自定义生成系统可能不使用 Visual Studio 项目或解决方案。

若要附加到应用程序,请执行以下操作:

  1. 将应用程序设置为以调试模式运行。必须在应用程序未运行时执行此操作。

  2. 启动该应用程序。可从“开始”菜单、通过执行协定或通过某些其他方法启动该应用程序。

  3. 将调试器附加到正在运行的应用程序。

Hh771032.collapse_all(zh-cn,VS.110).gif将应用程序设置为以调试模式运行

  1. 在装有该应用程序的设备上安装 Visual Studio 远程工具。请参见Installing the Remote Debugger

  2. 在“开始”菜单上,搜索 Debuggable Package Manager,然后启动它。

    随后显示 PowerShell 窗口,该窗口针对 AppxDebug cmdlet 进行了正确的配置。

  3. 若要能够调试应用程序,必须指定该应用程序的 PackageFullName 标识符。若要查看包含 PackageFullName 的所有应用程序的列表,请在 PowerShell 提示符下键入 Get-AppxPackage。

  4. 在 PowerShell 提示符下,输入 Enable-AppxDebug PackageFullName,其中 PackageFullName 是应用程序的 PackageFullName 标识符。

Hh771032.collapse_all(zh-cn,VS.110).gif附加调试器

提示

在 wwahost.exe 进程的实例中运行 JavaScript 应用程序。如果在附加到应用程序时正在运行其他 JavaScript 应用程序,则需要了解运行应用程序的 wwahost.exe 的数字进程 ID (PID)。

处理这种情况最简单的方法是关闭所有其他 JavaScript 应用程序。否则,可先打开 Windows 任务管理器,然后再启动应用程序,并记下 wwahost.exe 进程的 ID。在“可用进程”对话框中指定要附加到的进程时,应用程序的 wwahost.exe 的 ID 将与刚记下的 ID 不同。

若要附加调试器,请执行以下操作:

  1. 在**“调试”菜单上,选择“附加到进程”**。

    随后将显示**“附加到进程”**对话框。

  2. 若要附加到远程设备上的应用程序,请在**“限定符”**框中指定该远程设备。您可以:

    • 在**“限定符”**框中输入名称。

    • 选择**“限定符”**框中的下拉箭头,然后从以前已附加到的设备的列表中选择该设备。

    • 选择**“查找”**,从本地子网上设备的列表中选择该设备。

  3. 在**“附加到”**框中指定要调试的代码类型。

    选择**“选择”**,然后执行下列操作之一:

    • 选中**“自动确定要调试的代码类型”**

    • 选中**“调试以下代码类型”**,然后从列表中选择一个或多个类型。

  4. 在**“可用进程”列表中,选择相应的 wwahost.exe 进程。使用“标题”**列识别您的应用程序。

  5. 选择**“附加”**。

Visual Studio 将调试器附加到该进程。持续执行至抵达某个断点、手动暂停执行、发生无法处理的异常或应用程序结束为止。

请参见

概念

快速入门:调试器导航 (JavaScript)

快速入门:调试应用程序 (JavaScript)

如何在 Windows 应用商店应用程序中触发挂起、继续和后台事件

调试 Windows 应用商店应用程序