Debugging 使用Flash Builder调试OpenLasZLO SWF运行时应用程序和拉斯洛基金会类(LFC)

Debugging 使用Flash Builder调试OpenLasZLO SWF运行时应用程序和拉斯洛基金会类(LFC),debugging,flash,openlaszlo,lzx,Debugging,Flash,Openlaszlo,Lzx,我刚刚学会了怎么做。讨论中提到的方法意味着OpenLaszlo应用程序被编译成SWF文件,并为Flex编译器启用调试选项。然后可以使用Flash Builder分析生成的SWF文件 如果我们可以使用FlashBuilder调试器的全部功能来调试OpenLaszloSWF11运行时应用程序,那么它的功能将更加强大。我特别想找一个方法 能够在我的应用程序生成的ActionScript 3代码(交叉编译的LZX代码)中设置断点,并逐步完成代码 拉斯洛基础课的方法,尤其是的能力 由于OpenLaszlo

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

如果我们可以使用FlashBuilder调试器的全部功能来调试OpenLaszloSWF11运行时应用程序,那么它的功能将更加强大。我特别想找一个方法

  • 能够在我的应用程序生成的ActionScript 3代码(交叉编译的LZX代码)中设置断点,并逐步完成代码
  • 拉斯洛基础课的方法,尤其是
  • 的能力 由于OpenLaszlo编译器提供的错误消息并不总是那么有用,因此对于具有ActionScript 3知识的开发人员来说,能够直接单步执行ActionScript代码、在Flash Builder中检查对象和变量将更加有效

    为了实现这些目标,有必要

  • 有办法从我的应用程序LZX代码中生成ActionScript3代码
  • 可以访问生成的ActionScript 3代码,该代码用于编译LFC SWC库文件$LPS_HOME/LPS/includes/LFC/LFC11.SWC。ActionScript代码必须作为脚本的一部分生成。不幸的是,我对构建过程的理解不够透彻,无法看到LFC的源代码是在哪里以及如何生成的

  • 是否有人能够调试和单步执行应用程序的ActionScript3代码和LFC类?

    这两种操作都可以。检索OpenLaszlo应用程序生成的ActionScript3源代码相对容易。当OpenLaszlo编译器编译LZX代码时,生成的应用程序ActionScript 3代码将写入Java temp文件夹

    当SWF运行时LFC类被编译成SWC文件时也是如此。OpenLaszlo源代码(执行时)包含用于编译SWC文件的shell脚本。如果您已签出代码,则可以在中找到构建脚本

    $LPS_HOME/WEB-INF/lps/lfc/
    
    对于flex4.6分支,如果执行以下命令

    cd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfc --runtime=swf11
    
    您将在Java或system temp文件夹中找到生成的ActionScript类,例如

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

    整个操作相对比较复杂,我早就创建了一个JIRA,并建议为LFC/内核SWC库文件的ActionScript3源代码提供OpenLaszlo服务器:

    不幸的是,这从未实现。

    我创建了一个包含Ant构建脚本和所需文件的应用程序,以便在Windows或Mac上使用Flash Builder 4.6评测和调试OpenLaszlo应用程序

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


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

    该过程是否可以通过某种方式实现自动化?比如:更新LZX文件,使用浏览器编译,然后使用Flash Builder打开应用程序进行调试?在过去,我使用Apache Ant构建脚本(当我在使用基于OpenLaszlo的AdobeAIR for Android应用程序时)完成了这项工作。我会更新一些构建脚本,并使它们在线可用。