有没有调试 ActionScript ByteCode 的工具?想观察寄存器、堆栈
那么运行SWF时,有没有办法逐行运行ABC代码并观察寄存器、堆栈呢?我至少可以将其打印到屏幕上或记录下来吗?
So when running a SWF, is there a way to step through line by line of ABC code and observe registers, stacks? Could I at least print it to screen or log it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过将 mm.cfg 文件中的 TraceOutputBuffered 和 AS3Verbose 变量设置为 来完成您想要的操作1 如本文所述 http://jpauclair.net/mm- cfg-secrets/
我已经能够验证它是否适用于 flash 播放器调试 10.0 r45_2,但它似乎没有为 10.1 或 10.2 输出任何内容。
What you want can be done by setting TraceOutputBuffered and AS3Verbose variables in your mm.cfg file to 1 as detailed in this post http://jpauclair.net/mm-cfg-secrets/
I have been able to verify that it works for flash player debug 10.0 r45_2, but it doesn't seem to output anything for 10.1 or 10.2.
您可以使用 SWFWire Inspector 来模拟单步执行代码以进行反编译。如果您检查“ByteCode”和“Stack”,您将看到字节码,以及之后堆栈如何受到影响(或者反编译器认为它会如何影响)。
我还想指出,如果您在代码中放入无效的操作码,Flash Player 会将堆栈转储到跟踪中。
You can use SWFWire Inspector which emulates stepping through the code to do decompilation. If you check "ByteCode" and "Stack", you will see the byte code, and how the stack was affected afterwards (or how the decompiler thinks it would have been).
I also want to point out that flash player will dump the stack to the trace if you put an invalid opcode in your code.