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