调试桌面 AIR 应用程序

如果使用 IDE(例如 Flash Builder、Flash Professional 或 Dreamweaver)开发应用程序,调试工具通常都是内置的。以调试模式启动就可调试应用程序。如果不是使用支持直接调试的 IDE,可以使用 AIR Debug Launcher (ADL) 和 Flash Debugger (FDB) 来协助调试应用程序。

使用 ADL 运行应用程序

使用 ADL 可以无需打包和安装,直接运行 AIR 应用程序。如以下示例所示,将应用程序描述符文件作为参数传送给 ADL(必须首先编译应用程序中的 ActionScript 代码):

adl myApplication-app.xml

ADL 会将 trace 语句、运行时异常和 HTML 分析错误输出到终端窗口。如果 FDB 进程正在等待传入连接,ADL 会连接到调试器。

也可使用 ADL 调试使用本机扩展的 AIR 应用程序。例如:

adl -extdir extensionDirs myApplication-app.xml

输出 trace 语句

若要将 trace 语句输出到用于运行 ADL 的控制台,请使用 trace() 函数将 trace 语句添加到代码中。

注: 如果 trace() 语句没有显示在控制台上,则应确保未在 mm.cfg 文件中指定 ErrorReportingEnableTraceOutputFileEnable。有关此文件中平台特定位置的更多信息,请参阅编辑 mm.cfg 文件

ActionScript 示例:

//ActionScript 
trace("debug message"); 

JavaScript 示例:

//JavaScript 
air.trace("debug message");
在 JavaScript 代码中,可使用 alert()confirm() 函数来显示应用程序中的调试消息。此外,语法错误的行号以及任何未捕获的 JavaScript 异常均输出到该控制台。
注: 若要使用 JavaScript 示例中显示的 air 前缀,则必须将 AIRAliases.js 文件导入到此页。此文件位于 AIR SDK 的 frameworks 目录中。

连接 Flash Debugger (FDB)

若要使用 Flash Debugger 调试 AIR 应用程序,请启动 FDB 会话然后使用 ADL 启动您的应用程序。

注: 在基于 SWF 的 AIR 应用程序中,必须使用 -debug 标志编译 ActionScript 源文件。(在 Flash Professional 中,选中“发布设置”对话框中的“允许调试”选项。)
  1. 启动 FDB。可以在 Flex SDK 的 bin 目录中找到 FDB 程序。

    控制台显示 FDB 提示符:<fdb>

  2. 执行 run 命令:<fdb>run [Enter]

  3. 在不同命令或解释程序控制台中,启动应用程序的调试版本:

    adl myApp.xml
  4. 使用 FDB 命令根据需要设置断点。

  5. 键入:continue [Enter]

如果 AIR 应用程序基于 SWF,则调试器只控制 ActionScript 代码的执行。如果 AIR 应用程序基于 HTML,则调试器只控制 JavaScript 代码的执行。

若要在不连接到调试器的情况下运行 ADL,请加入 -nodebug 选项:

adl myApp.xml -nodebug

有关 FDB 命令的基本信息,请执行 help 命令:

<fdb>help [Enter]

有关 FDB 命令的详细信息,请参阅 Flex 文档中的使用命令行调试器命令