zoukankan      html  css  js  c++  java
  • What is the difference between Debug and Release in Visual Studio?

    “Debug” and “Release” are actually just two labels for a whole slew of settings that can affect your build and debugging.


    In “Debug” mode you usually have the following:

    • Program Debug Database files, which allow you to follow the execution of the program quite closely in the source during run-time.
    • All optimizations turned off, which allows you to inspect the value of variables and trace into functions that might otherwise have been optimized away or in-lined
    • A _DEBUG preprocessor definition that allows you to write code that acts differently in debug mode compared to release, for example to instrument ASSERTs that should only be used while debugging
    • Linking to libraries that have also been compiled with debugging options on, which are usually not deployed to actual customers (for reasons of size and security)

    In “Release” mode optimizations are turned on (though there are multiple options available) and the _DEBUG preprocessor definition is not defined. Usually you will still want to generate the PDB files though, because it’s highly useful to be able to “debug” in release mode when things are running faster.


    Here’s the difference between VCXPROJ context

    RELEASE

    <PropertyGroup>
        <WholeProgramOptimization>true</WholeProgramOptimization>
    
    <ClCompile>
        <Optimization>MaxSpeed</Optimization>
        <FunctionLevelLinking>true</FunctionLevelLinking>
        <IntrinsicFunctions>true</IntrinsicFunctions>
    <Link>
        <EnableCOMDATFolding>true</EnableCOMDATFolding>
        <OptimizeReferences>true</OptimizeReferences>

    DEBUG

    <PropertyGroup>
        <UseDebugLibraries>true</UseDebugLibraries>`
    
    <ClCompile>
        <Optimization>Disabled</Optimization>
    
  • 相关阅读:
    关于PCA算法的一点学习总结
    c++大作业--学籍管理系统--
    AVC1与H264的差别
    Java多线程之wait(),notify(),notifyAll()
    jquery——zTree, 完美好用的树插件
    一位Erlang程序猿的自白
    SQL Server 中关于EXCEPT和INTERSECT的使用方法
    JAVA程序猿怎么才干高速查找到学习资料?
    CFileDialog的使用方法简单介绍
    XCode 打包问题巧遇
  • 原文地址:https://www.cnblogs.com/lkpp/p/7399996.html
Copyright © 2011-2022 走看看