我想释放我的Flash应用程序不处于发布模式,但在调试模式下发布 以在发布应用程序后查看trace()的结果。
我不在乎调试模式使处理速度慢一点。
除了处理速度,释放在调试模式下编译的Flash应用程序是否有缺点?
由于调试模式,应用程序是否有可能抛出应用程序用户的异常或Flash Player崩溃?发布在调试模式下编译的Flash应用程序的缺点
回答
这里有一些缺点。我做了一些简单的测试,但它们并没有真正证明任何事情,因为他们不知道是否是由不同播放器引起的,以及额外的内存/文件大小值是否增加线性或保持在该级别。他们只是表明有差异。
- 增加的文件大小
- 测试器(mxmlc 4.5.1)在一个单一的线空文档类:
-debug=false
:550字节-debug=true
:667字节
- 再添每行代码的附加行号指令(甚至可能用于每个声明/语句/表达式)
- 测试器(mxmlc 4.5.1)在一个单一的线空文档类:
- 包含您的项目结构:.as文件的完整路径。
- 可能的隐私问题(可以显示本地用户名)
- 显示内部项目名称,也许内部版本,如果在路径中使用
- 可能表示使用OS和/或IDE
- 内存消耗增加
- 非常简单的测试看任务管理器:for循环创建本地对象
- debug:〜6300k - 7400k
- 版本:〜5800K - 6900k
- 非常简单的测试看任务管理器:for循环创建本地对象
- 较慢(如已经在问题中提到)
我不知道如果安全是一个问题在这里,因为跟踪报表不要透露任何无法从内存中提取或通过反编译重构的内容。也许跟踪的存在表明它可能是应用程序的关键部分,但通常甚至非调试字节码仍包含这些跟踪指令。行号可以被反编译器用来创建漂亮的代码。
如果您提供包含'C:\ Users \ Smecksy133tKillerJoe \ retarded clients \ screwed \ very_unstable_alpha \ com \ banana \ Main.as'的东西,并且仍然期望获得报酬,则包含的项目结构可能最差。 – Kapep
谢谢! 我不喜欢在我的计算机上公开文件路径,但幸运的是我为我的项目使用无意义的目录名称。内存消耗和文件大小对我来说并不重要。 所以我要在调试模式下发布我的应用程序。 –
@kapep的回答是正确的调试模式对你的瑞士法郎做的事情。
,但它不是neccessary使用调试模式的痕迹 - 在发布模式下编译并使用不同的调试工具,像
和也许可以使用日志框架来使用正常的跟踪语句以及外部日志记录器捕获的语句。
我可以推荐这个人在这里:parsley+spicelib
这里是一个简短的手册:http://www.spicefactory.org/parsley/docs/2.0/manual/logging.php#intro
- 1. 应用程序在调试模式下运行良好,但在发布模式下引发编译错误
- 2. 在发布模式下调试的缺点
- 3. 在发布模式下调试Visual Studio Web应用程序
- 4. 在调试或发布/分发模式下编译时iOS应用程序的性能
- 5. 有没有一种方法来调试在发布模式下编译的已经运行的应用程序?
- 6. 在PROD上将应用程序调试为DEBUG模式 - 缺点?
- 7. 发布在调试模式,但编译器删除#if调试
- 8. Python 3.2:cx_freeze编译我的程序,但在调试模式下
- 9. 调试发布模式应用程序的最佳方式
- 10. 在发布模式下编译时出错但在调试模式下不能编译
- 11. 发布模式下的编译错误
- 12. 我的应用程序在调试模式下进行调试
- 13. UWP应用程序的调试和发布模式
- 14. Android - 调试和发布模式的应用程序图标
- 15. 在发布模式下测试应用程序
- 16. 在发布模式下的应用程序异常,而不是在调试模式下
- 17. 在调试模式下运行的相同Android应用程序,在发布模式下崩溃
- 18. 为什么我的应用程序在发布模式下崩溃而不是在调试模式下崩溃?
- 19. .fsx文件是否在调试或发布模式下交互式编译?
- 20. 在调试模式下发布了一个asp.net Web应用程序?
- 21. Android应用程序在调试模式下工作,但在发布模式下不起作用
- 22. 在发布模式下调试符号
- 23. 在发布模式下调试
- 24. 调试已发布的应用程序
- 25. 我可以让Flash Builder在调试和发布模式下编译不同的文件吗?
- 26. 分布模式下的应用程序崩溃而不是调试模式
- 27. Flash Builder中4.5.1发布Android应用程序不会在调试模式下完美运行
- 28. 汇编编译调试和发布模式
- 29. 允许Api应用程序从调试和发布模式
- 30. 应用程序在调试模式下平稳运行,但在发布模式下崩溃
调试增加约9K的文件大小。闪存调试播放器用于通过公共错误,但大约10+它只将错误引发到远程调试会话(很好,但不是)。如果您还没有,我建议您从闪存进行远程调试。 – Jacksonkr
如果您将痕迹()放入其中,它可能对您有所帮助以进行调试是的,但它也可能对尝试了解您的应用/游戏并潜在窃取它的黑客有所帮助。那就是......如果你在项目的每个关键部分留下痕迹。 – bigp