Release vs. Debug文件夹VS 2013

时间:2013-12-20 04:31:30

标签: c# visual-studio-2013

我对编程比较陌生并且已经开始使用VS 2013而不是C#Express 2010.我很好奇bin目录中的debug和build文件夹有什么区别?

4 个答案:

答案 0 :(得分:2)

调试和发布是两种不同的配置。您可以阅读详细信息here

调试模式未经过优化,并以这种方式进行编译,因此可以轻松进行调试。您可以在调试模式下运行代码。然而,如果您已将应用程序配置为发布模式,则无法进行此操作。

发布模式针对性能进行了优化,应在部署应用程序时使用。

  

正如名称所暗示的那样,您构建了用于调试的Debug版本和用于最终版本分发的Release版本。   如果在Visual Studio中创建程序,Visual Studio将自动创建这些配置并设置适当的默认选项和其他设置。使用默认设置:   程序的Debug配置使用完整的符号调试信息进行编译,无需优化。优化使调试变得复杂,因为源代码和生成的指令之间的关系更复杂。   程序的Release配置不包含符号调试信息,并且已完全优化。可以在PDB文件中生成调试信息,具体取决于所使用的编译器选项。如果以后必须调试发行版本,则创建PDB文件非常有用。

答案 1 :(得分:1)

DebugRelease是用于构建项目的不同配置。

您通常使用Debug模式调试项目,并使用Release模式为最终用户进行最终构建。

Debug模式不会优化它生成的二进制文件(因为优化可能会使调试变得非常复杂),并生成其他数据以帮助调试。

调试模式中,编译器为所有变量发出调试符号,并按原样编译代码。 在发布模式中,包含了一些优化:

  1. 未使用的变量根本无法编译
  2. 一些循环变量被编译器从循环中取出,如果它们被证明是 不变量
  3. #debug指令下编写的代码不包括在内等。
  4. 其余的由JIT决定。 Release模式可以实现优化,并生成更少(或没有)额外的调试数据。

    请参阅以下链接:

    <强> StackOverflow

    <强> MSDN

    希望这可以帮助你:)

答案 2 :(得分:1)

您在Visual Studio中使用构建配置来控制编译代码时要采取的步骤。默认情况下,您可以获得两个,调试和发布,构建设置。

来自http://msdn.microsoft.com/en-us/library/wx0123s5.aspx

程序的Debug配置使用完整的符号调试信息进行编译,无需优化。优化使调试变得复杂,因为源代码和生成的指令之间的关系更复杂。

程序的Release配置不包含符号调试信息,并且已完全优化。可以在PDB文件中生成调试信息,具体取决于所使用的编译器选项。如果以后必须调试发行版本,则创建PDB文件非常有用。

答案 3 :(得分:0)

对于.NET程序(C#/ VB),调试构建和发布版本没什么区别。您仍然可以部署exe / dll的未优化调试版本。优化并没有太大的区别。

对于C ++程序,Debug构建依赖于VC运行时dll的调试版本,不应该部署它。调试版本通常没有太多优化,大小更大,运行速度更慢。 发布版本取决于可以部署的VC运行时dll的发行版本。 版本构建通常是优化的,尺寸更小,运行速度更快。