zoukankan      html  css  js  c++  java
  • 项目Debug版本与Release版本的区别

         Debug版本:通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。

         Release版本:称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

         实际上,Debug版本和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。事实上,我们甚至可以修改这些选项,从而得到优化过的调试版本或是带跟踪语句的发布版本。

         在Debug或Release文件夹中,通常会看到几种类型的文件:

              1、应用程序扩展类型文件:也就是dll文件(动态链接库);

              2、XML文档类型文件:此文件中保存的是dll文件中类、方法、参数等注释信息。若没有此文件,在使用dll文件中的类和方法时,在intelisense中无法看到相应注释帮助信息;

              3、Program Debug Database【程序数据库】:

                    a、序数据库文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。 在使用 /Debug或/Release 生成时,会创建PDB 文件;

                    b、以使用 /debug:full 或 /debug:pdb-only 生成应用程序。 使用 /debug:full 生成可调试的代码。 使用 /debug:pdbonly将产生 PDB,但是不会产生通知JIT编译器调试信息可用的 DebuggableAttribute。 如果想生成的发布版本是不希望可调试的,那生成的PDB文件,请使用 /debug:pdb-only;

                    c、isual Studio调试器使用EXE或DLL文件中的PDB路径查找 project.pdb文件。 如果调试器无法在该位置找到 PDB 文件,或者该路径无效,调试器将先搜索包含EXE的路径,然后搜索“选项”对话框中指定的符号路径。 该路径通常是“符号”节点中的“调试”文件夹。 如果调试器无法找到 .PDB 文件,则显示“查找符号”对话框,这将允许您搜索符号或向搜索路径添加其他位置;

                   

                    d、对Debug文件夹和Release文件夹中均有pdb,它们的不同在于:Debug中的pdb是full,保存着调试和项目状态信息,有断言、堆栈检查等代码;Release中的pdb是pdb-only,保存的信息也就是,出了什么错误以及错误在哪行;

                    e、想在生成文件时不生成pdb文件,可在项目属性中的生成--高级--调试信息--选择none项就可以了;

                   

         备注:个人认为在发布项目时,应该以Release方式来生成文件,同时以pdb-only的形式生成pdb文件,以备不时之需。当然,最终对于pdb-only和none的选择看具体情况。

  • 相关阅读:
    java中调用kettle转换文件
    开源游戏引擎体验
    cocos2d-x 托付模式的巧妙运用——附源代码(二)
    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 Windows Phone
    redis String结构
    Redis 键命令
    Redis 基础命令
    linux curl 命令的使用
    将spring boot项目部署到tomcat容器中
    Redis常用命令
  • 原文地址:https://www.cnblogs.com/stonemjl/p/13626279.html
Copyright © 2011-2022 走看看