1

我想知道为什么要部署带有相关调试符号的软件。有什么优点和缺点?是否存在代码泄露问题(信息安全相关问题)?

4

1 回答 1

2

您可以使用或不使用调试信息进行编译,或者在 unix 系统上,您可以运行strip以从已编译的可执行文件中删除调试信息。

缺少调试信息将:

  • 缩小你的二进制大小。删除所有调试信息可以将文件大小减少 50%
  • 启用更多编译器优化。如果您仍在添加调试信息,则某些编译器优化实际上不会起作用。
  • 使调试更加困难。
    • 您通常不想让您的竞争对手和黑客更容易拆卸您的产品。
    • 尽管任何核心文件对开发人员的用处都较小。

因此,在一般开发中,您需要调试信息,但对于 QA 和发布,您通常希望将其排除在外。如果您向您更信任的客户提供库,您可能更倾向于留下它。

于 2010-03-12T22:11:57.953 回答