C#发布之后的pdb文件是啥
C#发布之后的pdb文件是啥
mscn:在 Visual Studio 调试器(C#)中指定符号 (.pdb) 和源文件 PDB全称Program Database,程序数据库 ( .pdb) 文件(也称为符号文件)将项目源代码中的标识符和语句映射到已编译应用中的相应标识符和说明. 这些映射文件将调试器链接到源代码,以进行调试. 这个文件会在我们调试的时候被使用到,这个东西可以理解为调试的时候应用程序和源文件之间的一个桥梁.正是归功于这个文件,我们才能在debug的时候看到程序当前执行相对应的代码和监视到一些变量. 符号文件
pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的. 在程序发布为release模式时,建议将 pdb文件删除, 同时,对外发布的时候,也把 pdb删除,有利于保护程序. PDB:Program Debug Database(程序调试数据库)文件 PDB(程序调试数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接.当用 /ZI 或 /Zi 编译 C/C++ 程序时或用 /debug 编译 Visual Basic/C# 程序时
转载原地址: 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# 程序时
原文地址:http://blog.csdn.net/feihe0755/article/details/54233714 PDB文件的介绍 PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件.DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名.变量名.函数名.FPO(帧指针).对应的行号等等.因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成. PDB文件的调用过程 模块(Module),EXE和DLL都可以称之
程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接. 在使用 /debug 生成时,会创建一个 PDB 文件. 可以使用 /debug:full 或 /debug:pdbonly 生成应用程序. 使用 /debug:full 生成将产生可调试的代码. 使用 /debug:pdbonly 生成将产生 PDB,但是不会产生通知 JIT 编译器调试信息可用的 DebuggableAttribute. 如果您想为不希望其成为可调试的发布版本生成 PDB,请
转 PDB文件 PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件.DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名.变量名.函数名.FPO(帧指针).对应的行号等等.因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成. PDB文件的调用过程 模块(Module),EXE和DLL都可以称之为模块,因为它们都有自已独立的Stack,所以我们在调试程序时,可以在Call Stack窗口查看到所有调用的Module
Release 与 Debug 的区别就不多说了, 简单来说 Release 优化过, 性能高一些. Debug 为方便调试. 默认情况下是 Debug, 那如何改成 Release 呢? 项目上右键,“属性”, 余下的如下图操作: 前几天发布项目,有时候就发布那几个dll,但是一个dll同时还有一个pdb文件,而且pdb文件貌似还挺大. 全选的话,要复制多一份pdb文件到服务器,上传时间长. 不全选,就要按住ctrl,再点选每个dll,每次都麻烦得很呀,我想release下,应该可以去掉pdb
最初只想知道线上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 看完第一段,不理解可以看第二段,看完第
原文链接地址:http://blog.csdn.net/changbaolong/article/details/7472685 NCB是"No Compile Browser"的缩写,称为"无编译浏览文件".其中存放了供ClassView.WizardBar和Component Gallery使用的信息,由VC开发环境自动生成,工程拷来拷去都会生成新的信息以适应新的环境变量.当自动完成功能出问题时可以删除此文件,编译工程后会自动生成:比
文/玄魂 .PDB文件,全称为“程序数据库”文件.我们使用它(更确切的说是看到它被应用)大多数场景是调试应用程序.目前我们对.PDB文件的普遍认知是它存储了被编译文件的调试信息,作为符号文件存在.那么,它具体包含哪些内容呢?在调试过程中是怎样发挥作用的呢?我们有没有办法去操作这个文件呢? 1. PDB文件内容 .PDB文件的内部格式,微软并没有公开,现在仍然是一个秘密,但是它提供了相关的API用于调试器来从中获取信息. 一个非托管C++程序的PDB文件包含如下信息: l Public, priv
##环境说明 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都产生```*
我们为了减少发布/Release时项目的体积,希望在编译时不生成xml注释文档(包括引用的其他类库),和pdb调试文件 用你喜欢的文本编辑器打开项目.csproj文件,找到PropertyGroup节点 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> </PropertyGroup> 节点中加入元素节点AllowedReferenceRelatedF
有人问了这样的问题:"我工作的公司正极力反对用生成的调试信息构建发布模式二进制文件,这也是我注册该类的原因之一.他们担心演示会受到影响.我的问题是,在发布模式下生成符号的最佳命令行参数是什么?还有什么地方我可以参考,以表明不应该有性能问题.“ 回答是:不,生成PDB文件对性能没有任何影响.至于我也可以给你指出的参考资料,我在网上还没有找到任何能回答确切问题的资料,所以让我依次介绍.NET和本机开发. Eric Lippert写了一篇很棒的文章,优化开关是做什么的?他讨论了编译器和即时(JIT)编
大多数开发人员都意识到PDB文件有助于您进行调试,但仅此而已.如果你不知道PDB文件是怎么回事,不要觉得很糟糕,因为虽然有文档在那里,但它分散在周围,而且大部分是为编译器和调试器编写器准备的.虽然编写编译器和调试器非常酷和有趣,但这可能不是你的工作.我想做的是把每个在微软操作系统上进行开发的人都必须知道的PDB文件放在一个地方.这些信息也适用于本机开发人员和托管开发人员,不过我将提到一个特定于托管开发人员的技巧.我将从讨论PDB文件存储和内容开始.由于调试器使用PDB文件,我将详细讨论调试器如何
1.Generate debug必须选上,否则没有调试信息 2.把优化disable,否则容易产生代码地址偏移: 3.用program database产生PDB文件: 4.将dll, exe, pdb,加上版本号,防止下次开发编译时把老的PDB冲掉. 5.发布的版本,输出到一个固定目录,防止人为删除Debug, Relase导致丢失 6.对于已经稳定的版本dll, exe,编译时,可将优化开启.(虽然偶然有代码地址偏移,但是还可以接受) 7.生成MiniDump时,用MiniDumpWithD
英文全称:Program Database File Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配置进行增量链接.Release 里的PDB是pdb-only,出什么错了+错误在哪行.由此我明白了,原来pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的.而程序在上线时是不需要xml文件和pdb文件的,可以进行配置,只生成dll文件. 平时做项目时也没太注意过这个pdb文件是干什么的,刚才心血来潮
Microsoft Visual Studio PDB:调试的符号文件,程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置: 当以 /ZI 或 /Zi(用于 C/C++)生成时,将创建一个 PDB 文件. 在 Visual C++ 中,/Fd 选项用于命名由编译器创建的PDB 文件. 当使用向导在Visual Studio 中创建项目时,/Fd 选项被设置为创建一个名为 project.PDB 的 PDB. 如果使用生成文件创建 C/C++ 应用程序,并指定
Visual Studio 不生成.vshost.exe和.pdb文件的方法[转] 使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 一.先解释一下各个文件的作用: .pdb文件: 程序数据库文件(Program Database File).默认设置下,Debug的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码,可以对程序的调试配置进行增量链接. 而Release的默认设置对
一开始配置完毕后 输入reload 但不识别 输入reload -f 还是不识别 输入reload -f 模块名 继续不识别 !sym noisy 查看 输入reload 发现有了一堆的查找路径 把pdb文件放到查找路径下 reload -f 模块名 !analyze -v 可以定位到代码了 但还是比较模糊的范围