问题标签 [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 投票
2 回答
1145 浏览

c++ - C++ 调试问题 - pdb 文件

我的项目中有几个 DLL,它们被定义为在同一个文件夹中创建它们的 *.pdb 文件(调试信息)。问题是该文件夹中实际存在的唯一 *.pdb 文件是属于最后编译的 DLL 的文件。结果我只能调试最后一个项目(每次编译都会删除文件夹中的所有 *.pdb 并创建当前编译的 DLL pdb 文件。)

我该如何解决?我正在使用 Visual Studio 2003。

0 投票
1 回答
2951 浏览

visual-studio - 如何获取同一文件夹中的所有 .pdb 文件?

我在 Visual Studio 2008 中有一个解决方案,它有几十个项目。

我想将所有 pdb 放在同一个文件夹中。

从项目的属性页中,我看到 pdb 将转到“中间目录”;.obj 文件也转到“中间目录”。

我们的每个项目都有自己的文件夹,因为我们希望将 .obj 分开,同时我希望将所有 pdb 放在同一个文件夹中。

查看 buildlog.htm 我看到了控制 pdb 路径的选项 /PDB,在我看来,该选项在属性页中不可用。

也许我将不得不使用后期构建脚本?

0 投票
1 回答
312 浏览

c++ - 在 VC6 中从 VS2008 调试 DLL

我目前正在 VC6 中调试一个项目(慢慢将其移植到 VS2008)。该项目链接到我在 VS2008 中使用 Debug 构建生成的 DLL。(我知道 - 发现自己处于一个奇怪的情况。)我需要在 VC6 中调试项目并单步执行对 DLL 的调用。即使我在 DLL 旁边有 PDB,VC6 在加载它时仍然报告 DLL 没有符号信息。有谁知道为什么?VC6不能加载VS2008的PDB吗?任何想法都非常感谢...

0 投票
3 回答
5047 浏览

c# - 如何在 MSI 安装程序中包含 pdb 文件以与应用程序的其余部分一起部署?

如何在 MSI 安装程序中包含 pdb 文件以与应用程序的其余部分一起部署?

我想在我们生成的错误日志中保留行号和完整的堆栈跟踪。

更新

除非您分发 pdb,否则堆栈跟踪中不会报告代码的行号,我已经对此进行了测试。

当我构建 MSI 并且我已经要求 MSI 安装程序项目包括各种项目输出(大约 5 个)以在 MSI 中也包括这些项目输出的 pdb 时,我该怎么做?或者如何从异常前获取这些信息(代码行号)到日志中?

0 投票
3 回答
6359 浏览

c# - C# - 设置 pdb 的路径

有没有办法在 Visual Studio 2008 下的 C# 中设置程序数据库文件 (*.pdb) 的自定义路径?使用 C++,这非常简单(项目设置 -> 链接器 -> 调试 -> 生成程序数据库文件),但由于某种原因,微软似乎已经为 C# 删除(或隐藏)了它。

我知道“标准”用法是将 pdb 放在可执行文件旁边的 bin 目录中,但是该目录变得非常混乱,所以我真的希望它们位于 /obj 中,这就是我总是用 C++ 来做。

谢谢!

0 投票
1 回答
1838 浏览

file - 从构建定义文件控制 pdb 文件输出

我正在尝试生成一个没有生成 pdb 文件的发布版本。我看到很多帖子建议右键单击项目,选择属性,转到构建选项卡,然后转到高级... butoon 并将调试信息更改为无。这一切正常,但我需要构建约 50 个解决方案,每个解决方案包含约 25 个项目!其他帖子提到编辑适当的 .csproj 文件,但同样,有这么多项目,这需要很长时间。有什么方法可以通过 TFSBuild.proj 文件实现这一点?

我尝试将以下内容添加到 TFSBuild.proj 文件中,但没有成功。

以下行打印出 Release|AnyCPU、none 和 false,但我仍然在 $(OutputDir) 文件夹中看到 .pdb 文件。

在此先感谢,乌尔维

0 投票
1 回答
6744 浏览

visual-studio - 在 Visual Studio 中,我可以在只有调试符号的代码中放置断点吗?

由于我无法访问我正在使用的库的完整源代码,但我确实有 pdb 文件,是否可以在“调试源代码”中设置断点?

如果是这样,我该怎么做?

0 投票
1 回答
756 浏览

debugging - PostSharp , PDB 调试和引用程序集

将 PostSharp 与具有正确 PDB 信息(使用 chkmatch 检查)的引用程序集一起使用时,调试信息在 VStudio 构建和编译后过程中丢失似乎很奇怪,并且在 vstudio 构建后使用 chkmatch 比较程序集时出现以下错误.

错误:在可执行文件中找不到调试信息。

所以它不会介入调试这个程序集。

Post Sharp 是否在不破坏 PDB 位置偏移信息的情况下正确回写程序集,因为我在 PostSharp 使用十六进制编辑器写回 DLL 时没有看到有效的偏移信息,对此有什么解决方法?

0 投票
8 回答
34902 浏览

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

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

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

我可以在压缩时排除 *.pdb,但我不能完全排除 *.xml 文件,因为我有具有相同扩展名的部署文件。

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

0 投票
1 回答
4307 浏览

visual-studio-2008 - WINDOWS 调试符号加载问题。我无法在 Visual Studio 中加载 WINDOWS 操作系统二进制文件 .pdb

我在一家软件公司工作,开发系统软件产品。前天该产品崩溃并显示核心。

为了找出确切的问题,我想知道带有函数名称的完整核心堆栈(kernel32.dll、ntdll.dll .. 不显示函数名称)。我已经从 Microsoft 站点下载了 WINDOWS 调试符号。 http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx#f

下载了以下三个包 1. WindowsServer2003-KB933548-v1-ia64-symbols-NRL-ENU.exe 2. WindowsServer2003-KB933548-v1-x86-symbols-NRL-ENU.exe 3. WindowsServer2003-KB933548-v1-x86-symbols- NRL-ENU-DEBUG.exe。

尝试为 WINDOWS 操作系统二进制文件加载调试符号,但我无法成功。示例:对于 ntdll.dll,我尝试加载相应的 ntdll.pdb,但 Visual Studio 出现错误,即“符号文件 ntdll.pdb 与模块不匹配”

操作系统:我使用的是 WINDOWS 2003 SP2 。

请帮助获得带有函数名称的完整堆栈。

我的系统软件崩溃后的核心堆栈。

kernel32.dll!77e4bef7() Asm [下面的帧可能不正确和/或丢失,没有为 kernel32.dll 加载符号] Asm kernel32.dll!77e4bef7() Asm kernel32.dll!77e46cfd() Asm ntdll.dll!7c827d29( ) Asm ntdll.dll!7c83d266() Asm ntdll.dll!7c83d2b1() Asm ntdll.dll!7c82d308() Asm ntdll.dll!7c82d30f() Asm ntdll.dll!7c82f380() Asm ntdll.dll!7c82d30f() Asm ntdll.dll!7c82f557() Asm ntdll.dll!7c82a501() Asm ntdll.dll!7c82daee() Asm ntdll.dll!7c82f51a() Asm ntdll.dll!7c82f2c3() Asm kernel32.dll!77e6518d() Asm ntdll。 dll!7c829cc2() Asm ntdll.dll!7c829de7() Asm ntdll.dll!7c829e02() Asm ntdll.dll!7c827899() Asm ntdll.dll!7c82ec4a() Asm msvcr80.dll!781787e4() Asm msvcr80.dll! 78178823() Asm sal.dll!SAL_DebugOutput(const char * fmtstr=0x66009318, ...) 第 643 行 C++ sal.dll!MapSystemError(unsigned long dwerr=0x00000040) 第 130 行 + 0xb 字节 C++

sal.dll!MapLastError() 第 146 行 + 0xc 字节 C++

sal.dll 是我的软件二进制文件,我能够为 sal.dll 加载调试符号。

我在等你的建议。