我想知道为什么要部署带有相关调试符号的软件。有什么优点和缺点?是否存在代码泄露问题(信息安全相关问题)?
问问题
162 次
1 回答
2
您可以使用或不使用调试信息进行编译,或者在 unix 系统上,您可以运行strip
以从已编译的可执行文件中删除调试信息。
缺少调试信息将:
- 缩小你的二进制大小。删除所有调试信息可以将文件大小减少 50%
- 启用更多编译器优化。如果您仍在添加调试信息,则某些编译器优化实际上不会起作用。
- 使调试更加困难。
- 您通常不想让您的竞争对手和黑客更容易拆卸您的产品。
- 尽管任何核心文件对开发人员的用处都较小。
因此,在一般开发中,您需要调试信息,但对于 QA 和发布,您通常希望将其排除在外。如果您向您更信任的客户提供库,您可能更倾向于留下它。
于 2010-03-12T22:11:57.953 回答