问题标签 [pdb-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
112466 浏览

file - 读取 .pdb 文件

我有很多 .pdb 格式的文件,其中一些已下载,但直到现在我无法使用或读取其中的内容,所以我正在寻找如何从 MS Windows XP 读取和查看 .pdb 文件格式。

有知道怎么打开的吗?

0 投票
1 回答
921 浏览

c++ - 来自不同版本 Visual Studio 的 PDB 文件

我有一个用 VC++ 6 构建的旧 DLL 文件。现在我需要调查转储文件,但我没有可用的 PDB。WinDbg 报告的堆栈跟踪也不准确。

是否可以使用更高版本的 Visual Studio 重建项目,即 2003、2005、2008,生成 PDB,并使用它将地址映射到旧 DLL 中的符号?是否有类似 VC 6.0 兼容模式来构建项目?

获得 VC++ 6 是一种选择,但看起来 VS6.0 已经从 MSDN 订阅者下载页面消失了 :(

谢谢!

0 投票
0 回答
850 浏览

gcc - 如何将剥离符号与二进制合并?

我在启用调试的情况下编译了 Qt 框架,但脚本从库中删除了调试符号并将它们保存为 *.debug 文件——就像这里一样。遗憾的是,我在.so 文件中需要这些符号,因此我可以继续使用它们。似乎没有办法教我的调试器加载外部(非 PDB)符号。所以解决我的问题的另一种方法可能是将 .debug 文件转换为 PDB 格式,这也可能是一个问题。

非常感谢!

0 投票
5 回答
5410 浏览

.net - 即使包含 PDB 文件,堆栈跟踪中也缺少行号

这让我抓狂。我使用 VS 2008 使用 C# 实现了这个 Web 服务。我在 IIS 上发布它。我已经修改了发布版本,因此 pdb 文件与 dll 一起复制到 inetpub 上的目标目录中。

web.config 文件也有 debug=true。

然后我调用一个引发异常的 Web 服务。堆栈跟踪不包含行号。我不知道我在这里缺少什么,有什么想法吗?

附加信息: 如果我使用 VS 内置 Web 服务器运行 Web 应用程序,它可以工作并且我在堆栈跟踪中获得行号。但是,如果我将 VS 内置 Web 服务器正在使用的相同文件(pdb 和 dll)复制到 IIS,堆栈跟踪中仍然缺少行号。

似乎有一些与 IIS 相关的东西忽略了 pdb 文件!

更新 当我发布到 IIS 时,所有 pdb 文件都发布在 bin 目录下,一切看起来都很好。但是当我转到与我的项目相关的特定目录下的“C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”时,我可以看到程序集(.dll)文件都在那里,但没有 pdb 文件。但是,如果我使用 VS 内置 Web 服务器运行项目,则不会发生这种情况。因此,如果我将 pdb 文件手动复制到 temp 文件夹,我可以看到行号。

知道为什么不将 pdb 文件复制到临时文件夹吗?

顺便说一句,当我附加到工作进程时,我可以看到它说符号已加载!

0 投票
2 回答
5381 浏览

qt - Visual C++ 2008 运行时错误——调试与发布 exe 问题?

我有一个 Windows 可执行文件(本机,而不是 .Net)项目,我正试图将它传递给新的团队成员。它是一个使用 Qt 小部件库和 OpenGL 的图形建模工具。

该项目在我的盒子上运行良好,但是当我们在这个新成员的机器上构建并链接它并且他尝试调试它时,这是他看到的(为简洁起见,不包括所有条目):

ModelingTool.exe':已加载'C:\ModelingTool\ModelingTool\ModelingTool\Debug\ModelingTool.exe',已加载符号。“ModelingTool.exe”:已加载“C:\Windows\System32\ntdll.dll”,无法找到或打开 PDB 文件“ModelingTool.exe”:已加载“C:\Windows\System32\kernel32.dll”,找不到或打开 PDB 文件“ModelingTool.exe”:已加载“C:\Windows\System32\opengl32.dll”,找不到或打开 PDB 文件“ModelingTool.exe”:已加载“C:\Windows\System32\msvcrt.dll” , 无法找到或打开 PDB 文件“ModelingTool.exe”:已加载“C:\Windows\System32\dwmapi.dll”,无法找到或打开 PDB 文件“ModelingTool.exe”:已加载“C:\Qt\4.2”。 2\bin\Qt3Supportd4.dll',已加载符号。“建模工具.exe”:已加载“C:\Program Files\Spyware Doctor\smum32.dll”,二进制文件未使用调试信息构建。调试器::在进程加载期间引发了未处理的不可继续异常程序“[5936] ModelingTool.exe:Native”已退出,代码为-1072365566(0xc0150002)。

有人愿意猜猜这里出了什么问题吗?也许某种调试发布不匹配?

0 投票
5 回答
48568 浏览

c# - C# 发布版本仍有 .pdb 文件

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

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

如果这是真的,我怎样才能完全抑制二进制文件中产生的任何调试信息?你也知道释放的原因.pdb吗?配置ReleaseOptimize code检查,仅TRACE定义常量,未定义DEBUG.

谢谢你的帮助。

0 投票
3 回答
8302 浏览

windows - 如何从 .PDB 文件创建 .MAP 文件

我想创建一个简单的 .MAP 文件,列出 PDB 文件中的地址和符号名称。我的自然倾向是寻找一个名为“pdb2map”的工具,但我得到的大多数结果似乎是指来自Debugging Applications for Microsoft .NET 和 Microsoft Windows附带的 CD 中的示例程序,不幸的是,它不是发布在'网络'上。

有谁知道这方面的好工具?谢谢。

0 投票
3 回答
7979 浏览

debugging - 如何从 PDB 文件中获取 GUID?

有谁知道如何从 PDB 文件中获取 GUID?

我正在使用 Microsoft 的调试接口访问 SDK

http://msdn.microsoft.com/en-us/library/f0756hat.aspx

并在尝试加载 PDB 时传入我期望的 GUID 时获取 E_PDB_INVALID_SIG。

我只想知道 PDB 的 GUID,这样我就可以确定它不匹配,而不仅仅是可能以某种方式损坏的 PDB。

有没有可以做到这一点的工具?我试过 dia2dump 和 dumpbin,但没有任何乐趣......

非常感谢,

想过。

0 投票
3 回答
602 浏览

visual-studio - 如何在编译时从 PDB 获取 StackFrame?

我需要从任何 PDB(所有输入/输出参数及其类型)中获取函数的堆栈帧。我有来自 PDB 的某个函数的函数名称和地址,有没有办法从 PDB 文件中获取该函数的所有参数(输入/输出)?

这些函数是用非托管代码编写的。

问候,

乌斯曼

0 投票
1 回答
485 浏览

debugging - VS2008 ASP.net .PDB 在哪里创建?

我在vs2008中有一个网站。构建后,我无法在任何地方找到我的 .pdb 文件。

我的构建配置设置为调试。<compilation debug="true">在网络配置中。

我的 .pdb 在哪里?我的 app_code 或 bin 文件夹中没有任何内容。如何生成这些文件?