gpt4 book ai didi

debugging - 在 Debug模式下发布软件有什么问题吗?

转载 作者:行者123 更新时间:2023-12-02 22:14:15 25 4
gpt4 key购买 nike

我们都知道“ Debug模式”应该用于开发,因为编译器会产生更多的调试信息,而“ Release模式”应该用于生产版本,因为编译器会产生优化的代码。

但是,假设您正在制作一个仅在组织内部使用的软件,并且代码性能不是一个大问题,因为该软件需要执行以下操作:大量文件 I/O 和数据库查询。在这种情况下,我很想以“ Debug模式”发布软件,因为这些额外的调试信息使将来的维护变得更容易。

在这种情况下,还有什么令人信服的理由以 Release模式发布软件吗?

最佳答案

我能想到的两个问题:

  1. 调试版本通常会向缓冲区添加填充。这就是为什么有时您会得到一些似乎在调试中工作但在发布中崩溃的程序。似乎是这里的关键词,因为缓冲区溢出只是等待发生的事故。

  2. 调试版本中会发生奇怪的事情。我曾经开发过一个长时间运行的应用程序,该应用程序每二十天左右就会崩溃一次。事实证明,在 C 运行时中,每次执行 malloc/free 时都会递增一个计数器(用于帮助调试)。如果计数器碰巧溢出——轰隆隆!仅出于这个原因,我绝不会建议任何人部署调试二进制文件 - 您永远不知道可能会为您的客户带来什么惊喜。

关于debugging - 在 Debug模式下发布软件有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/947401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com