在发布模式下使用Visual Studio调试本机C++程序有什么缺点?为什么我应该通过设置两种不同的模式来打扰自己,而不仅仅是在释放模式下进行简单的调试?在发布模式下调试的缺点
通过在释放模式的调试,我将所有需要的配置后平均(生成调试信息,禁用优化和增量链接...)
换句话说,为什么我应该有一个调试模式下,我必须将我的项目链接到任何第三方的调试版本,而我可以简单地将我的发布模式更改为“可调试版本的发布模式”(假设我不想在调试我的应用程序时挖掘第三个库)
在发布模式下使用Visual Studio调试本机C++程序有什么缺点?为什么我应该通过设置两种不同的模式来打扰自己,而不仅仅是在释放模式下进行简单的调试?在发布模式下调试的缺点
通过在释放模式的调试,我将所有需要的配置后平均(生成调试信息,禁用优化和增量链接...)
换句话说,为什么我应该有一个调试模式下,我必须将我的项目链接到任何第三方的调试版本,而我可以简单地将我的发布模式更改为“可调试版本的发布模式”(假设我不想在调试我的应用程序时挖掘第三个库)
如果你a)生成调试信息和b)禁用优化,那么这几乎不是释放模式。这是没有启用_DEBUG的调试模式。
有些人在纯调试和发行版本之上定义了这样的第三个构建配置,仅针对调试问题,有时仅在发布时才会弹出。
唉,在仅发布版本上弹出的问题类型往往是由优化造成的,因此这种构建的用途有限。但如果它适合你,没有什么能阻止你使用它。
这只是_DEBUG应该会导致日志中发出额外的信息,当然还有需要检查的断言,这两种情况在正常情况下都是开发中不可缺少的。因此,将“调试”模式不要严格视为“调试”,而应将其视为“开发”模式。
拥有不同版本的目的是让你不必一直瞎搞他们的配置。你只需配置你想要的版本,然后你忘记了它们。如果您为了调试目的而修改发布版本,那么下次当您想要将新版本发送到户外时,您将不得不撤消这些修改并重新构建新的“真正”发布模式版本。你不想这样做。
此外,第三方库的_DEBUG模式可能会生成可能对您有用的调试日志,但最重要的是,它可能还会执行额外的输入参数检查,这对于开发强大的软件来说绝对是不可或缺的。因此,您不希望在不处于_DEBUG模式的第三方库上进行开发。
您错过了调试运行时库!这将检查运行时的错误参数,这是一种可能导致发行版运行时出现无法解释的崩溃的错误。
谢谢..我想告诉我为什么我应该有一个调试模式,我必须将我的项目链接到任何第三方的调试版本,而我可以简单地将我的发布模式更改为“可调试版本的发布模式“ –
拥有不同版本的目的是让您不必一直弄乱它们的配置。你只需配置你想要的版本,然后你忘记了它们。每当你想将新版本发送到户外时,你都不会惹恼配置。 –
此外,第三方库的_DEBUG模式可能会生成日志记录,这些日志文件可能对调试有用,也可能会执行额外的输入参数检查,这对于开发功能强大的软件来说绝对是必不可少的,因此您不希望成为在不处于_DEBUG模式的第三方库上开发。 –