gpt4 book ai didi

actionscript-3 - As3 swf 字节码注入(inject)

转载 作者:行者123 更新时间:2023-12-04 04:27:04 30 4
gpt4 key购买 nike

我目前正在开发一种工具,该工具允许我们查看大型 as3/Air 项目(超过 2000 个类)中哪些功能耗时,以识别需要优化的瓶颈和功能。

实现此目的的一种方法是使用 Flash Builder Profiler,但它非常非常慢,并且会在 1 或 2 分钟后崩溃。
另一种方法是手动编写包含最重要功能耗时信息的文件。
但这是一个手动过程,我无法涵盖所有​​项目的功能。

所以我正在寻找一种将 as3 字节码直接注入(inject)已编译的 swf 中的方法。使用这样的工具,我会在每次函数调用后注入(inject)一个日志,这样我就可以覆盖所有项目的功能。

存在一些 as3 库来做这样的事情( AS3Commons ByteCode )但不适用于我的项目(我得到解析错误)并且 as3 很慢。

最佳答案

我看到四个选项:

  • 首先,我在想Apparat ,作者 Joa Ebert(谢谢,伙计),它提供了用于 ABC 字节码优化的工具,以及用于操作此字节码的非常深入的 API。它是用 Scala 编写的,所以现在也是学习这种很棒的语言的好时机。
  • 此外,您可以编写自己的工具。 ABC(ActionScript 字节码)格式为 well documented及其容器 SWF file format .解析两个文件以获取有趣的标签并在字节码中添加所需的指令可能并不难。
  • 在更“简单”的方法中,我们大多数人使用的 SWF 和 ABC 编译器 mxmlc , 是开源的。您可以尝试直接编辑编译器代码以执行您想要的操作。你需要的一切都在Adobe OpenSource Flex SDK web site .
  • 作为您问题的替代答案,您可以在 mm.cfg 上使用令人敬畏的 AS3Trace/AS3DynamicProfile 选项,而不是尝试在 SWF 中注入(inject)字节码(这将始终对全局应用程序的性能产生影响),每个函数的完整执行日志,以及有关操作码执行的分析信息。更多关于 here .

  • 总而言之,这样的外部分析工具将是一个很棒的应用程序,可以开源并发布给社区,因为现在越来越多的“大”AS3 项目出现了。 ;)

    关于actionscript-3 - As3 swf 字节码注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4507786/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com