3

我正在构建一个 C# 应用程序,其中包含通过AxShockwaveFlash. 挑战之一是,当我使用基于 Eclipse 的 Flex Builder 开发 Flash 控件时,如果电影是直接通过 Flash 播放器独立运行,它似乎只能让我调试 Flash 控件。如果我想从我的 C# 应用程序内部调试我的 ActionScript 代码,我必须求助于穴居人(跟踪)调试,这远不理想。

我看到这AxShockwaveFlash似乎为外部分析支持提供了挂钩。我希望也可能有一些用于外部调试支持的钩子,所以我可以将我的 Flex Builder 调试器直接连接到 AxShockwaveFlash,但没有任何反应。想法?

4

4 回答 4

1

我不是 C# 程序员,所以我不确定这是否可行。

您应该能够使用 Sephiroth 的Flash Tracer Firefox 插件获取跟踪。不过,在获取跟踪之前需要设置的东西很少:

1.确保您在 Firefox中使用 Flash Player插件的调试版本。一个简单的检查方法是查看此处显示的属性列表中的 isDebugger 属性是否为真(滚动到页面底部的 swf)。

2.确保您的硬盘上有一个名为 flashlog.txt 的文本文件,位于以下位置:%homepath%\Application Data\Macromedia\Flash Player\Logs。默认情况下,Logs 文件夹可能不存在,因此您需要创建它并在其中添加一个空的 flashlog.txt 文件。

3.一旦你安装了正确的播放器和扩展,配置扩展指向 flashlog.txt。您可以使用扩展面板右下方的“首选项”按钮来执行此操作。

重新启动浏览器,以防万一并打开 Flash Tracer 面板。如果您有任何跟踪内容的 Flash 内容,您应该得到跟踪。如果您太快获得太多痕迹,可能会导致浏览器崩溃,因此请确保不时清除痕迹并使用暂停按钮。

另一个想法是使用远程调试器,您应该能够使用 Flash 内容的右键单击菜单中的调试器选项触发,以防显示右键单击菜单(我不知道 Flash 内容的外观/运行方式C# 应用程序)。我没有过多地尝试使用该选项,据我所知,swf 文件应该是远程的,所以我不确定这有多大帮助。

希望我能伸出援手。祝你好运。

于 2009-04-12T20:27:05.610 回答
1

您确定您已安装 AX 调试版本并且您的应用正在使用该版本吗?

如果您使用的是非 IE 浏览器,那么它将不会使用 AX 版本的播放器,因此您对 GProfenza 的评论:“......就像在网络浏览器中一样”可能不成立。

IE 中的 Flash 是否显示调试器菜单?

于 2009-05-13T23:16:51.363 回答
0

试试 deMonster 的 Monster Debugger。它是一个 AIR 应用程序,允许实时调试 Flash、Flex、浏览器等中的应用程序。只需从 AIR 应用程序中导出一个客户端类并在您的根类中实例化它。然后,您可以分析类、对象、跟踪等。

http://demonsterdebugger.com/

于 2009-06-20T18:04:19.273 回答
0

正如 Spender 在下面指出的,您可能需要安装ActiveX“内容调试器”播放器。它允许您从 Flex Builder 或 Flashing 创作工具调试在 IE 中运行的 Flash 电影。因此,大概 ActiveX 内容调试器也可以从您的 C# 应用程序中进行调试。

于 2009-07-04T07:38:08.693 回答