运行和调试ActionScript和Flex应用程序
此功能仅在Ultimate版本中受支持。
运行/调试配置类型
以下运行/调试配置类型可用于Flash模块:
- :通过 Flash 应用程序配置,您可以编译并运行或调试您的 Flash(ActionScript 和 Flex)应用程序。您可以在运行或调试之前创建必要的配置。使用源代码时,您也可以在编辑器中开始运行或调试应用程序权限。
- :FlexUnit 配置允许您编译并运行或调试 FlexUnit 测试。请参阅测试 ActionScript 和 Flex 应用程序。
- :通过 Flash Remote Debug 配置,您可以调试已编译的应用程序,并在必要时打包,并且准备在本地或远程计算机或移动设备上运行。请参阅本节内容中的“使用Flash远程调试配置”部分。
为了能够调试你的应用程序,你需要确保如下的条件:
- 应用程序必须是调试就绪的,即包含必要的调试信息。
- 对于针对 Web 的应用程序,您必须为 Web 浏览器安装 Flash 播放器的调试版或 Flash 播放器插件的调试版。通常,该软件包含在 Flex SDK 中。您也可以从 Adobe Flash Player 下载页面单独下载相应的软件 。
从编辑器中运行或调试应用程序
在编辑器中处理类源代码时,如果合适,可以运行或开始以当前类作为主应用程序类来调试应用程序。为此,请右键单击编辑器区域中的某个位置以打开上下文菜单并选择:
- :运行 “<class_name>”(Ctrl+Shift+F10)以运行该应用程序。
- :调试 “<class_name>” 开始调试应用程序。
如果适用于该任务的 Flash 应用程序运行/调试配置已存在,则选择并使用此配置。否则,会创建一个新的运行/调试配置并将其保存为:临时运行/调试配置。有关详细信息,请参阅本节内容中的“IntelliJ IDEA 如何选择或创建特定于类的运行/调试配置”部分。
除了运行和调试外,还可以根据具体情况提供以下相关命令:
- :创建“<class_name>”。如果未找到适当的运行/调试配置,则可以使用此命令创建新的运行/调试配置并使其处于最新状态。(“创建运行/调试配置(Create Run/Debug Configuration)”对话框将打开。)
- :保存“<class_name>”。如果相应的运行/调试配置可用作临时配置,则可以使用此命令来保存配置并使其永久保存 。
- :选择“<class_name>”。如果要使相应的临时或永久运行/调试配置为最新,请使用此命令。
上述所有功能也可以作为项目或收藏夹工具窗口中的上下文菜单命令来访问。
IntelliJ IDEA如何选择或创建特定于类的运行/调试配置
如以上内容所述,当您在编辑器中运行或调试应用程序时,IntelliJ IDEA 首先会尝试使用您当前使用的类作为主类来查找现有的运行/调试配置。
如果未找到此类配置,则会创建一个新的运行/调试配置。
如果找到多个具有合适主类的配置,IntelliJ IDEA 将根据以下条件对配置进行优先级排序并选择具有最高优先级的配置:
- 运行/调试配置基于活动的构建配置,构建配置输出类型为 Application,主要类不会在运行/调试配置中重写。
- 运行/调试配置基于具有输出类型 Application 的构建配置,在运行/调试配置中不会覆盖主类。
- 运行/调试配置基于活动的构建配置,主要类在运行/调试配置中被覆盖。
- 任何具有合适(重写)主类的运行/调试配置。
创建新的运行/调试配置时,IntelliJ IDEA 会尝试使用合适的主类来查找构建配置。如果找到,新的运行/调试配置将基于这样的构建配置。否则,将使用活动构建配置,并且将在新的运行/调试配置中重写主类。
使用Flash远程调试配置
- 选择并启动必要的 Flash 远程调试配置( 或 Shift+F9)。然后调试工具窗口将打开;调试器正在等待应用程序连接。
- 现在,要连接到调试器,请执行以下操作之一:
- 在本地计算机上启动 Flash 或 AIR 应用程序;应用程序将自动连接到调试器。
- 如果应用程序已经在本地或远程计算机上的 Web 浏览器或 Flash 播放器中运行,请右键单击浏览器中的相应页面或播放器中的应用程序,然后从上下文菜单中选择 Debugger。
- 在移动设备上启动应用程序。如果设备能够与您的计算机进行通信,则应用程序将自动连接到调试器。
隐藏或显示[SWF]和[UnloadSWF]调试器消息
您的 Flash Player 调试器输出可能包含许多 [SWF] 与 [UnloadSWF] 消息(在"调试工具(Debug)"窗口的"控制台(Console)"选项卡)。有些情况下你不想看到它们。
您可以使用工具栏上的 来隐藏或显示 [SWF] 和 [UnloadSWF] 信息。
请注意,更改此切换的状态不会更改当前的控制台内容。也就是说,如果打开过滤器,则输出中已经存在的消息不会被隐藏。只有新消息不会显示。