标签: pdb-files

发布生成.pdb文件,为什么?

为什么Visual Studio 2005 .pdb在发布时编译时会生成文件?我不会调试发布版本,为什么它们会生成?

.net debugging debug-symbols visual-studio pdb-files

251
推荐指数
4
解决办法
10万
查看次数

什么是PDB文件?

什么是PDB文件,如何在重建解决方案时将其从发布文件夹中排除?

c# pdb-files

228
推荐指数
5
解决办法
18万
查看次数

如何在构建目标之外生成gcc调试符号?

我知道我可以使用-g选项生成调试符号.但是,符号将嵌入目标文件中.gcc可以在结果可执行文件/库之外生成调试符号吗?像Windows VC++编译器的.pdb文件一样.

debugging gcc pdb-files

167
推荐指数
5
解决办法
9万
查看次数

在Visual Studio C++ 2010中找不到或打开PDB文件

我使用Visual Studio 2010 C++并且我的项目构建没有错误但是当我运行它时我得到了这个.我在Windows XP上.

'Shaders.exe': Loaded 'C:\Documents and Settings\User\My Documents\Visual Studio        2010\Projects\Shaders\Win32\Debug\Shaders.exe', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or open the PDB  file
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtCored4.dll', Symbols  loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Cannot find or open the PDB file …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio-2010 pdb-files

114
推荐指数
3
解决办法
33万
查看次数

防止将引用的程序集PDB和XML文件复制到输出

我有一个Visual Studio 2008 C#/ .NET 3.5项目,其中包含一个后期构建任务来压缩内容.但是我发现我还在输出目录(和ZIP)中获取引用的程序集'.pdb(debug)和.xml(文档)文件.

例如,如果MyProject.csproj引用YourAssembly.dll,并且在与DLL相同的目录中存在YourAssembly.xml和YourAssembly.pdb文件,它们将显示在我的输出目录(和ZIP)中.

我可以在ZIP'ing时排除*.pdb但我不能排除*.xml文件,因为我有相同扩展名的部署文件.

有没有办法阻止项目复制引用的程序集PDB和XML文件?

xml build visual-studio pdb-files

113
推荐指数
5
解决办法
3万
查看次数

C#发行版仍有.pdb文件

我想部署在C#中完成的应用程序的发布版本.

当我使用Release配置构建时,我仍然可以看到生成了.pdb文件,这意味着我的应用程序仍然可以调试.这也意味着我的代码中某处存在一些调试信息,从而使其速度降低一些.

如果是这样,我怎样才能完全抑制二进制文件中产生的任何调试信息?你也知道释放的原因.pdb吗?该Release配置具有Optimize code检查,并且只有TRACE常数被定义,而不是DEBUG.

谢谢你的帮助.

c# release-mode pdb-files

58
推荐指数
5
解决办法
4万
查看次数

我如何使用PDB文件

我听说使用PDB文件可以帮助诊断崩溃发生的位置.
我的基本理解是你给Visual Studio提供源文件,pdb文件和崩溃信息(来自Dr Watson?)
有人可以解释一下它是如何工作的/涉及的内容?(谢谢!)

crash debugging pdb-files

45
推荐指数
3
解决办法
4万
查看次数

无法创建PDB文件

出于某种原因,今天我的一个项目突然出现了这个错误.

错误1无法写入输出文件'C:\ MyProject\Release\MyProject.pdb':未指定错误

如果我进入高级编译选项并将其更改为不生成和调试信息,我的项目编译正常.

我已经尝试将Release文件夹的权限设置为full to everyone,所以我认为这不是权限问题.另外,我在日志文件中看不到任何可以提供有关该问题的更多信息的内容.

有谁知道为什么这个错误会刚刚开始显示或修复它的方法?

谢谢.


更新:我重新启动了我的机器,重启了VS几次甚至完全删除了发生问题的现有OBJ文件.它仍然给我同样的错误.

这是一个简单的项目解决方案,上周工作正常.VS尝试构建PDB文件似乎是一个问题,因为我可以将它们从Release和Debug文件夹中删除而不会出现问题.当我尝试重建它们时,VS将开始创建文件(大小约为1.4MB),但我仍然得到错误.

vb.net visual-studio-2005 visual-studio pdb-files

39
推荐指数
2
解决办法
3万
查看次数

如何在没有pdb的情况下在堆栈跟踪中包含行号?

我们目前正在分发一个没有.pdb文件的WinForms应用程序,以节省客户端计算机上的空间和下载带宽.当我们得到堆栈跟踪时,我们得到方法名称但不是行号.有没有办法获取行号而不诉诸分发.pdb文件?

.net c# deployment debugging pdb-files

31
推荐指数
2
解决办法
2万
查看次数

如何更改年龄不匹配的PDB才能正确匹配?

我们的夜间构建过程已经被打破了很长时间,因此它生成的PDB文件的年龄与相应的图像文件相差几个小时.我已经解决了这个问题.

但是,我想开始使用符号服务器,但不能因为必须使用这些年龄不匹配的pdb文件.我通过在windbg中使用.symopt + 0x40方法解决此问题.这意味着我必须手工组织我的所有pdb文件,经过多年的发布后,这就相加了.

我正在寻找一种方法来修改windbg用于标记pdb年龄的机制,并强制它匹配我的图像文件.实用程序ChkMatch执行类似的操作,但是对于pdb签名.开发人员在页面上声明"ChkMatch能够使可执行文件和PDB文件匹配,如果他们有不同的签名但年龄相同(有关PDB签名和年龄的更多信息,请参阅此文章).如果年龄不同,该工具无法生成文件匹配."

我看了一下hexeditor,甚至找到了与年龄相对应的东西,但它必须在内部拉出一些技巧,因为我无法让它工作.

有任何想法吗?

编辑:我不知道这是否有帮助,但在我的特殊情况下,年龄差异是由于不必要地重新连接dll引起的,这也会重新创建PDB文件.但是,我们的构建过程是存储原始dll(在重新链接之前),以及重新链接之后的pdb.我想过以某种方式手工重建这种情况.意思是,强制重新链接DLL,但在两种情况下都保存了pdb.然后我可以对这两个文件进行二进制比较,看看它们是如何变化的.也许运行某种自动执行此操作的修补软件?通过查看我的控制案例中究竟发生了哪些变化,或许我可以对我公司构建过程中保存的DLL和PDB做同样的事情?

编辑:我想出来!!!! 感谢第一个答案的评论之一,我查看了"未记载的Windows 2000 Secrets:A Programmers Cookbook"一书的pdf链接.作者详细介绍了pdb文件格式.正如我之前所说的那样,我已经将pdb加载到十六进制编辑器中,然后翻出一些看起来我的年龄/签名匹配,但它没有用.好吧,在使用W2k秘密书中的实用程序将pdb"爆炸"到包含的流中之后,我发现它们隐藏了对流3中年龄的另一个引用!!!!!!! 一旦我翻过那个,它在windbg中匹配.这太棒了!!!! 非常感谢....这里的符号服务器我来了!

windows symbols windbg symbol-server pdb-files

29
推荐指数
3
解决办法
2万
查看次数