程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接. 在使用 /debug 生成时,会创建一个 PDB 文件. 可以使用 /debug:full 或 /debug:pdbonly 生成应用程序. 使用 /debug:full 生成将产生可调试的代码. 使用 /debug:pdbonly 生成将产生 PDB,但是不会产生通知 JIT 编译器调试信息可用的 DebuggableAttribute. 如果您想为不希望其成为可调试的发布版本生成 PDB,请…
Release 与 Debug 的区别就不多说了, 简单来说 Release 优化过, 性能高一些. Debug 为方便调试. 默认情况下是 Debug, 那如何改成 Release 呢? 项目上右键,“属性”, 余下的如下图操作: 前几天发布项目,有时候就发布那几个dll,但是一个dll同时还有一个pdb文件,而且pdb文件貌似还挺大. 全选的话,要复制多一份pdb文件到服务器,上传时间长. 不全选,就要按住ctrl,再点选每个dll,每次都麻烦得很呀,我想release下,应该可以去掉pdb…
##环境说明 QtCreator QtLibrary 编译器 Qt Creator 2.7.0 4.8.4-msvc msvc9.0(VS2008) ##背景说明 >项目中需要对发布版本追踪崩溃问题,我们在项目中利用Qtbreakpoint来产生崩溃文件 ```*.pdb``` 文件,但是在```Qt```的Release版本下默认是不产生```*.pdb```文件 1 2 3 4 5 6 7 8 9 10   ##如何配置   * 方案1 修改编译环境,对所有项目的release都产生```*…
1.Generate debug必须选上,否则没有调试信息 2.把优化disable,否则容易产生代码地址偏移: 3.用program database产生PDB文件: 4.将dll, exe, pdb,加上版本号,防止下次开发编译时把老的PDB冲掉. 5.发布的版本,输出到一个固定目录,防止人为删除Debug, Relase导致丢失 6.对于已经稳定的版本dll, exe,编译时,可将优化开启.(虽然偶然有代码地址偏移,但是还可以接受) 7.生成MiniDump时,用MiniDumpWithD…
最初只想知道线上iis里需要不需要pdb文件,了解部分之后对于.net底层产生了浓厚的兴趣,看了一点点资料 资料来源: https://www.cnblogs.com/itech/archive/2011/08/15/2136522.html http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx 看完第一段,不理解可以看第二段,看完第…
Visual Studio里*.sln和*.suo文件的作用      VS项目采用两种文件类型(.sln   和   .suo)来存储特定于解决方案的设置.这些文件总称为解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息,从而使您每次继续开发任务时,都能够全身心地投入到项目和最终目标中,不会因开发环境而分散精力.          扩展名   名称   说明     *.sln   Visual   Studio.Solution   通过为环境提供对项目.项目项和解决方案…
英文全称:Program Database File Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配置进行增量链接.Release 里的PDB是pdb-only,出什么错了+错误在哪行.由此我明白了,原来pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的.而程序在上线时是不需要xml文件和pdb文件的,可以进行配置,只生成dll文件. 平时做项目时也没太注意过这个pdb文件是干什么的,刚才心血来潮…
引言 大多数人知道 PDB 文件是用来帮助我们 debug 的,但也仅此而已. 本文主要介绍当你遇到 PDB 文件时(windows 开发中),你必须要知道的内容. 重要的事情说三遍 PDB 文件和源代码一样重要!!! PDB 文件和源代码一样重要!!! PDB 文件和源代码一样重要!!! 开始之前 首先定义两个概念: 本地编译:在你本机开发环境中的编译. 官方编译:在编译服务器上的编译. 这两种编译的区分很重要,因为调试本地编译往往很简单,但是问题往往出现在官方编译中. 官方编译至少需要有一个…
mscn:在 Visual Studio 调试器(C#)中指定符号 (.pdb) 和源文件 PDB全称Program Database,程序数据库 ( .pdb) 文件(也称为符号文件)将项目源代码中的标识符和语句映射到已编译应用中的相应标识符和说明. 这些映射文件将调试器链接到源代码,以进行调试. 这个文件会在我们调试的时候被使用到,这个东西可以理解为调试的时候应用程序和源文件之间的一个桥梁.正是归功于这个文件,我们才能在debug的时候看到程序当前执行相对应的代码和监视到一些变量. 符号文件…
Visual Studio 不生成.vshost.exe和.pdb文件的方法[转] 使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 一.先解释一下各个文件的作用: .pdb文件: 程序数据库文件(Program Database File).默认设置下,Debug的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码,可以对程序的调试配置进行增量链接. 而Release的默认设置对…
使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 一.先解释一下各个文件的作用: .pdb文件: 程序数据库文件(Program Database File).默认设置下,Debug的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码,可以对程序的调试配置进行增量链接. 而Release的默认设置对PDB指定为pdb-only,保存着程序出了什么错误,以及错误在哪行. .vshos…
转载原地址: http://blog.csdn.net/lihuang319/article/details/6433727 dll.refresh文件 打开refresh文件,可以看到里面仅仅是个路径. 众所周知,.net的程序生成后会在bin目录下生成.dll文件,而.dll.refresh这个文件从何而来呢?那天无聊地google了下才知,这个东东是在你的项目中引用第三方程序集(是直接的)时自动生成的,这个.refresh文件存储了那个第三方文件的原始文件路径,如果该路径下的这个dll更新…
pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的. 在程序发布为release模式时,建议将 pdb文件删除, 同时,对外发布的时候,也把 pdb删除,有利于保护程序. PDB:Program Debug Database(程序调试数据库)文件 PDB(程序调试数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接.当用 /ZI 或 /Zi 编译 C/C++ 程序时或用 /debug 编译 Visual Basic/C# 程序时…
在VS2010中编译C#工程时,在C#的Project的属性界面的Build选项卡中当Configuration : Relese 时,依然会生成扩展名为.vhost.exe和.pdb文件. 其中.pdb是debug时使用的debug database文件;.vhost.exe是从VS2005开始的VS host process 不生成.vshost.exe文件的步骤如下图:打开工程属性的Debug标签选项卡,将Configuration选择为Relese , 去掉 Enable the Vis…
这几天毕设要用到OpenCV,按照网上的教程来搭建开发环境. 用的是OpenCV 3.0 beta + Visual Studio Community 2013.我的系统64位是Win 8.1,但在加载环境变量和包含库的时候都选了32位的,因为64对32兼容所以这没有问题.后文中的Debug也是x32的. 搭建开发环境参考了Youtube上OpenCV Moment的教学视频(奇怪的俄式英语-):传送门 切入正题 完成搭建后,采用以下代码测试: #include <opencv2/opencv.…
原文地址:http://blog.csdn.net/feihe0755/article/details/54233714 PDB文件的介绍 PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件.DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名.变量名.函数名.FPO(帧指针).对应的行号等等.因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成. PDB文件的调用过程 模块(Module),EXE和DLL都可以称之…
转 PDB文件 PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件.DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名.变量名.函数名.FPO(帧指针).对应的行号等等.因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成. PDB文件的调用过程 模块(Module),EXE和DLL都可以称之为模块,因为它们都有自已独立的Stack,所以我们在调试程序时,可以在Call Stack窗口查看到所有调用的Module…
pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的. 在程序发布为release模式时,建议将 pdb文件删除, 同时,对外发布的时候,也把 pdb删除,有利于保护程序. PDB:Program Debug Database(程序调试数据库)文件 PDB(程序调试数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接.当用 /ZI 或 /Zi 编译 C/C++ 程序时或用 /debug 编译 Visual Basic/C# 程序时…
编译C#工程时,在C#的Project的属性界面的Build选项卡中当Configuration : Relese 时,依然会生成扩展名为.vhost.exe和.pdb文件. 其中.pdb是debug时使用的debug database文件;.vhost.exe是从VS2005开始的VS host process 不生成.vshost.exe文件的步骤如下图:打开工程属性的Debug标签选项卡,将Configuration选择为Relese , 去掉 Enable the Visual Stud…
       原文链接地址:http://blog.csdn.net/changbaolong/article/details/7472685        NCB是"No Compile Browser"的缩写,称为"无编译浏览文件".其中存放了供ClassView.WizardBar和Component Gallery使用的信息,由VC开发环境自动生成,工程拷来拷去都会生成新的信息以适应新的环境变量.当自动完成功能出问题时可以删除此文件,编译工程后会自动生成:比…
.pdb文件最好与生成它的.dll文件放在一起,这样调试的时候才有可能跟踪进dll的内部函数里.…
我们为了减少发布/Release时项目的体积,希望在编译时不生成xml注释文档(包括引用的其他类库),和pdb调试文件 用你喜欢的文本编辑器打开项目.csproj文件,找到PropertyGroup节点 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> </PropertyGroup> 节点中加入元素节点AllowedReferenceRelatedF…
大多数开发人员都意识到PDB文件有助于您进行调试,但仅此而已.如果你不知道PDB文件是怎么回事,不要觉得很糟糕,因为虽然有文档在那里,但它分散在周围,而且大部分是为编译器和调试器编写器准备的.虽然编写编译器和调试器非常酷和有趣,但这可能不是你的工作.我想做的是把每个在微软操作系统上进行开发的人都必须知道的PDB文件放在一个地方.这些信息也适用于本机开发人员和托管开发人员,不过我将提到一个特定于托管开发人员的技巧.我将从讨论PDB文件存储和内容开始.由于调试器使用PDB文件,我将详细讨论调试器如何…
问题:使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 先解释一下各个文件的作用: .pdb文件: 程序数据库文件(Program Database File).默认设置下,Debug的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码,可以对程序的调试配置进行增量链接. 而Release的默认设置对PDB指定为pdb-only,保存着程序出了什么错误,以及错误在哪行. .vsho…
在Java1.8以上,安装以后再安装目录是自动生成一个release文件,用于记录Java和系统信息.但是在centos中,如果你的Java是在安装系统时选择自动安装的,那么在标题那个目录下,也就是jdk1.8目录是没有release文件的. 在一些应用场景中,是会读取这个文件的信息的.比如终端启动Scala,如果没有这个文件,就会提示:"cat: /usr/lib/jvm/java-1.8.0-openjdk/release 没有这个文件或目录" 解决方法: 我们在终端中,进入这个目…
Microsoft Visual Studio PDB:调试的符号文件,程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置: 当以 /ZI 或 /Zi(用于 C/C++)生成时,将创建一个 PDB 文件. 在 Visual C++ 中,/Fd 选项用于命名由编译器创建的PDB 文件. 当使用向导在Visual Studio 中创建项目时,/Fd 选项被设置为创建一个名为 project.PDB 的 PDB. 如果使用生成文件创建 C/C++ 应用程序,并指定…
一开始配置完毕后 输入reload  但不识别 输入reload -f 还是不识别 输入reload -f 模块名 继续不识别 !sym noisy 查看 输入reload 发现有了一堆的查找路径 把pdb文件放到查找路径下 reload -f 模块名 !analyze -v 可以定位到代码了 但还是比较模糊的范围…
Visual Studio无法查找或打开 PDB 文件解决办法 用VS调试程序时,有时会在VS底部的“输出”框中提示“无法查找或打开 PDB 文件”.这该怎么解决呢? 下面,我们以VS2013为例,来教大家解决办法. 方法/步骤 1 打开VS2013,点击菜单“工具”-“选项”.   2 在选项窗口中,展开“调试”-“常规”,然后在右边的窗格中勾选“启用源服务器支持”.   3 然后展开“调试”-“符号”,勾选“Windows符号服务器”.   4 这时,会弹出一个警告对话框,无视点击“确定”即…
1.Demo1:用DLL_01生成my.dll.my.pdb.my.lib文件. 2.Demo2:在DLL_01_APP_02中使用DLL_01的dll. 步骤: 1.vs2008打开DLL_01_APP_02工程,配置好.h文件.my.dll.my.lib的路径,使得能够调用my.dll里面的函数. 2.将生成的my.pdb文件放到DLL_01_APP_02当前目录下. 3.将DLL_01用于生成my.dll的.cpp源码文件拷贝至DLL_01_APP_02当前目录下. 4.菜单栏工具->选项…
使用VS2008在一个解决方案中包含多个项目时,当设置多个项目的中间目录为同一个目录时,在增量编译时出现"重新编译时vc90.pdb不是创建此预编译头时使用的pdb文件,请重新创建预编译头问题",从而导致整个解决方案每次都必须重新全部生成. 在msdn上获得如下信息: You may receive a "PRJ0008" or "C2471" or "C1083" or "D8022" or "…