在发布模式下调试的缺点 P>在发布模式下使用VisualStudio调试本地C++程序有什么缺点?为什么我要设置两种不同的模式而不是仅仅在发布模式下调试呢

在发布模式下调试的缺点 P>在发布模式下使用VisualStudio调试本地C++程序有什么缺点?为什么我要设置两种不同的模式而不是仅仅在发布模式下调试呢,c++,visual-studio,debugging,C++,Visual Studio,Debugging,通过在发布模式下调试,我的意思是在设置所有需要的配置后生成调试信息,禁用优化和增量链接 换句话说,为什么我要有一个调试模式,我必须将我的项目链接到任何第三方的调试版本,而我可以简单地将我的发布模式更改为发布模式的可调试版本,假设我不想在调试我的应用程序时挖掘第三个库如果你a生成调试信息,b禁用优化,那么这几乎不是释放模式。它是未启用_debug的调试模式 有些人在纯调试和发布的基础上定义了这样的第三个构建配置,这正是为了解决调试问题,这些问题有时只会在发布时弹出 唉,只发布版本时出现的问题类型往

通过在发布模式下调试,我的意思是在设置所有需要的配置后生成调试信息,禁用优化和增量链接


换句话说,为什么我要有一个调试模式,我必须将我的项目链接到任何第三方的调试版本,而我可以简单地将我的发布模式更改为发布模式的可调试版本,假设我不想在调试我的应用程序时挖掘第三个库

如果你a生成调试信息,b禁用优化,那么这几乎不是释放模式。它是未启用_debug的调试模式

有些人在纯调试和发布的基础上定义了这样的第三个构建配置,这正是为了解决调试问题,这些问题有时只会在发布时弹出

唉,只发布版本时出现的问题类型往往是由优化引起的,因此这种版本的用途有限。但是如果它适合你,没有什么能阻止你使用它

只是_DEBUG应该在日志中发出额外的信息,当然还要检查断言,这两者在正常情况下都是开发所必需的。所以,严格地说,调试模式不是调试,而是开发模式


拥有不同版本的目的是为了让您不必总是弄乱它们的配置。您只需配置所需的构建,然后就忘记了它们。如果为了调试目的修改了发布版本,那么下次要向great outdoors发送新版本时,必须撤消这些修改并重新构建新的真实发布模式版本。你不想这样做


此外,第三方库的_DEBUG模式可能会生成日志记录,这可能对您的调试有用,但最重要的是,它可能还会执行额外的输入参数检查,这对于开发健壮的软件是绝对必要的。因此,您不希望在不处于调试模式的第三方库上进行开发。

如果您生成调试信息并禁用优化,那么这几乎不是发布模式。它是未启用_debug的调试模式

有些人在纯调试和发布的基础上定义了这样的第三个构建配置,这正是为了解决调试问题,这些问题有时只会在发布时弹出

唉,只发布版本时出现的问题类型往往是由优化引起的,因此这种版本的用途有限。但是如果它适合你,没有什么能阻止你使用它

只是_DEBUG应该在日志中发出额外的信息,当然还要检查断言,这两者在正常情况下都是开发所必需的。所以,严格地说,调试模式不是调试,而是开发模式


拥有不同版本的目的是为了让您不必总是弄乱它们的配置。您只需配置所需的构建,然后就忘记了它们。如果为了调试目的修改了发布版本,那么下次要向great outdoors发送新版本时,必须撤消这些修改并重新构建新的真实发布模式版本。你不想这样做


此外,第三方库的_DEBUG模式可能会生成日志记录,这可能对您的调试有用,但最重要的是,它可能还会执行额外的输入参数检查,这对于开发健壮的软件是绝对必要的。因此,您不希望在不处于调试模式的第三方库上开发。

您缺少调试运行库!这将检查运行时的错误参数,这是一种可能导致发布运行时发生无法解释的崩溃的错误。

您缺少调试运行时库!这将检查运行时的错误参数,这是一种可能导致发布运行时发生无法解释的崩溃的错误。

谢谢。。我想告诉大家的是,为什么我应该有一个调试模式,我必须将我的项目链接到任何第三方的调试版本,而我可以简单地将我的发布模式更改为发布模式的可调试版本。拥有不同版本的目的是,您不必一直干扰它们的配置。您只需配置所需的构建,然后就忘记了它们。您不会在每次向great Outdoor发送新版本时都弄乱配置。此外,第三方库的_调试模式可能会生成日志记录,这可能对您的调试有用,并且它还可能执行额外的输入参数检查,这是绝对的
ely对于开发健壮的软件是必不可少的,因此您不希望在不处于调试模式的第三方库上开发。谢谢。。我想告诉大家的是,为什么我应该有一个调试模式,我必须将我的项目链接到任何第三方的调试版本,而我可以简单地将我的发布模式更改为发布模式的可调试版本。拥有不同版本的目的是,您不必一直干扰它们的配置。您只需配置所需的构建,然后就忘记了它们。您不会在每次发送新版本到great Outdoor时都弄乱配置。此外,第三方库的_DEBUG模式可能会生成对您调试有用的日志记录,还可能执行额外的输入参数检查,这对于开发健壮的软件是绝对必要的,因此,您不希望在不处于调试模式的第三方库上进行开发。