使用Flash Builder调试OpenLaszlo SWF运行时应用程序和Laszlo Foundation类(LFC)

时间:2012-08-16 09:16:51

标签: debugging flash openlaszlo lzx

我刚学会了如何profile OpenLaszlo applications using Flash Builder。该讨论中提到的方法意味着将OpenLaszlo应用程序编译为SWF文件,并为Flex编译器启用调试选项。然后可以使用Flash Builder分析生成的SWF文件。

如果我们可以使用Flash Builder调试器的全部功能来调试OpenLaszlo SWF11运行时应用程序,那将会更加强大。我正专心寻找

的方法
  1. 能够在我的应用程序生成的ActionScript 3代码中设置断点(交叉编译的LZX代码),并逐步执行代码。
  2. 能够逐步完成Laszlo Foundation Classes的方法,尤其是SWF runtime kernel
  3. 由于OpenLaszlo编译器提供的错误消息并不总是那么有用,对于具有ActionScript 3知识的开发人员来说,能够直接单步执行ActionScript代码,检查Flash Builder中的对象和变量会更有效。

    要实现这些目标,有必要

    1. 有办法从我的应用程序LZX代码中生成ActionScript 3代码。
    2. 可以访问生成的ActionScript 3代码,该代码用于编译LFC SWC库文件$ LPS_HOME / lps / includes / lfc / LFC11.swc。 ActionScript代码必须作为OpenLaszlo Subversion build process的一部分生成。不幸的是,我不能很好地理解构建过程,看看LFC的源代码在何处以及如何生成。
    3. 是否有人能够调试并逐步执行应用程序的ActionScript3代码和LFC类?

2 个答案:

答案 0 :(得分:1)

可以两者兼得。检索OpenLaszlo应用程序生成的ActionScript3源代码相对容易。当OpenLaszlo编译器编译LZX代码时,应用程序生成的ActionScript 3代码将写入Java临时文件夹。

将SWF运行时LFC类编译为SWC文件时也是如此。 OpenLaszlo源代码(在执行Subversion build时)包含一个用于编译SWC文件的shell脚本。如果您已签出代码,则可以在

中找到构建脚本
$LPS_HOME/WEB-INF/lps/lfc/

对于flex4.6分支,如果执行命令

cd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfc --runtime=swf11

您将在Java或系统临时文件夹中找到生成的ActionScript类,例如

/tmp/lzswf9/lzgen6382925936717905460/

在我的Linux系统上。如果在运行shell脚本之前清空/ tmp / lzswf9文件夹,则只能看到一个子文件夹,以该文件夹中的字母lzgen *开头,包含编译到SWC文件中的所有ActionScript类。

这整个操作相对复杂,我很久以前就创建了一个JIRA,并建议为LFC /内核SWC库文件的ActionScript3源代码提供OpenLaszlo服务器:http://jira.openlaszlo.org/jira/browse/LPP-9424

不幸的是,这从未实施过。

答案 1 :(得分:1)

我创建了一个project on Github,其中包含Ant构建脚本以及在Windows或Mac上使用Flash Builder 4.6分析和调试OpenLaszlo应用程序所需的文件。

以下是在探查器中运行的OpenLaszlo应用程序的屏幕截图:

OpenLaszlo application running in Flash Builder profiler

项目文件包含一个PDF,其中包含详细的教程,说明如何调试和分析OpenLaszlo SWF11运行时应用程序,包括SWF11 LFC类。以下是标题为"Profiling OpenLaszlo Applications with Flash Builder"的文档的链接。