可能重复:
.NET 中的调试与发布
调试/发布差异
构建项目时 Visual Studio 中的发布模式和调试模式有什么区别?
可能重复:
.NET 中的调试与发布
调试/发布差异
构建项目时 Visual Studio 中的发布模式和调试模式有什么区别?
Debug和Release只是不同解决方案配置的标签。如果需要,您可以添加其他人。我曾经从事的一个项目有一个名为“Debug Internal”的项目,用于打开应用程序的内部编辑功能。如果你去Configuration Manager...
(它在Build
菜单上)你可以看到这个。您可以在Configuration Manager Dialog Box下找到有关 MSDN Library 的更多信息。
然后,每个解决方案配置都由一堆项目配置组成。同样,这些只是标签,这次是为您的项目设置的集合。例如,我们的 C++ 库项目有名为“Debug”、“Debug_Unicode”、“Debug_MT”等的项目配置。
可用设置取决于您正在构建的项目类型。对于 .NET 项目,它是一个相当小的集合:#define
s 和其他一些东西。对于 C++ 项目,您需要调整更多种类的东西。
不过,一般来说,当您希望在关闭优化器的情况下构建项目时,以及希望在构建中包含完整的调试/符号信息(通常在 .PDB 文件中)时,您将使用“调试”。当您想要打开优化器并且不想包含完整的调试信息时,您将使用“Release ”。
好吧,这取决于您使用的语言,但通常它们是 2 个独立的配置,每个配置都有自己的设置。默认情况下,Debug 在编译文件中包含调试信息(允许轻松调试),而 Release 通常启用优化。
就条件编译而言,它们各自定义了可以在程序中检查的不同符号,但它们是特定于语言的宏。
主要区别在于在调试模式下编译时,还会创建允许调试的 pdb 文件(因此您可以在代码运行时单步执行代码)。然而,这意味着代码没有优化太多。