我想发布我的flash应用程序不是在发布模式,而是在调试模式查看应用程序释放后trace()的结果。
我不在乎调试模式会使处理速度慢一点。
除了处理速度之外,在调试模式下发布flash应用程序还有什么缺点吗?
是否有可能,应用程序抛出异常或Flash播放器的应用程序的用户崩溃,由于调试模式?
这里有一些缺点。我做了一些简单的测试,但并没有真正证明什么,因为它们并没有告诉我们这是否是由不同的玩家引起的,以及额外的内存/文件大小值是线性增加还是保持在那个水平上。
- 增加文件大小
- 已测试(mxmlc 4.5.1)空文档类在单行:
-
-debug=false
: 550 Bytes -
-debug=true
: 667 Bytes
-
- 为每行代码(甚至可能为每个声明/语句/表达式)添加额外的行号指令
- 已测试(mxmlc 4.5.1)空文档类在单行:
- 包含您的项目结构:.as文件的完整路径。
- 可能存在隐私问题(可能显示本地用户名)
- 显示内部项目名称,如果在路径 中使用,可能是内部版本
- 可能表示使用的操作系统和/或IDE
内存消耗增加 - 调试:~ 6300k - 7400k
- 释放:~ 5800k - 6900k
- 更慢(正如问题中已经提到的)
- 非常简单的测试查看任务管理器:for循环创建本地对象
我不确定安全性在这里是否是一个问题,因为跟踪语句不会显示无法从内存中提取或通过反编译重建的任何内容。跟踪的存在可能表明它可能是应用程序的关键部分,但通常即使是非调试字节码也仍然包含这些跟踪指令。不过,反编译器可以使用行号来创建更漂亮的代码。
@kapep关于调试模式对swf所做的事情的回答是正确的。
,但没有必要使用调试模式进行跟踪-在发布模式下编译并使用不同的调试工具,如
- 怪物调试器
- 爱尔康记录器
- …
,也可以使用日志框架来使用正常的跟踪语句以及由外部日志记录器捕获的语句。
我可以推荐这个:parsley+spicelib
这里有一个简短的手册:http://www.spicefactory.org/parsley/docs/2.0/manual/logging.php#intro