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

visual-c++ - 为什么 DIA SDK get_guid 总是为 Class guid 返回 Bad ptr(0x000)?

我正在使用 DIA SDK 来枚举 COM 二进制文件(dlls/exes)的类型和接口。但是 get_guid 总是为该组件内使用的每个 Class(CoClass & Interface) 返回 Bad Ptr(0x0000) 吗?

我们可以从 co 类和接口的 pdb 中获取 guid 的任何其他方法。

问候乌斯曼

0 投票
1 回答
467 浏览

c++ - 使用 DIA SDK 列出 C++ PDB 中的类文件夹

我正在使用 C# 开发一个分析工具。它使用DIA SDK分析C++ PDB文件并列出所有类、函数、字段等。

我想知道类的文件夹名称,并明智地列出类、函数等文件夹。我已经看到了 IDiaSymbol 上的所有属性/函数,但在类的文件夹名称上找不到任何东西。

如何使用 DIA SDK 获取 C++ PDB 中类的文件夹名称?

谢谢

拉古

0 投票
3 回答
4415 浏览

c - 如何使用 SymLoadModuleEx 加载 PDB 文件?

我正在尝试调用SymLoadModuleEx以从 PDB 文件中加载符号,然后用于SymFromAddr从该 PDB 中查找符号。但是,我不知道要为参数传递什么,BaseOfDll并且DllSize文档明确指出,在加载 PDB 文件时,这些参数不能为 0,并且确实尝试传递 0 会导致它失败,并显示ERROR_INVALID_PARAMETER.

这是我的代码的样子:

加载 PDB 文件时如何确定要传入的内容BaseOfDll和内容?DllSize有问题的 PDB 文件是不同程序可执行文件(不是 DLL)的符号文件,只是为了论证,假设您无权访问生成 PDB 的原始 EXE。

或者,是否有更好的方法从 PDB 文件中查找与给定地址对应的符号?

0 投票
1 回答
563 浏览

visual-studio - 使用 PDB,F11 进入代码但 F12 无法浏览?

我对 Visual Studio 很陌生,所以不知道我是否做错了什么,或者这是否真的是它应该工作的方式。

在我的“应用程序”项目中,我添加了对 DLL 的引用,我有它的源代码。我在也有 pdb 文件的文件夹中添加了对 dll 的引用。

现在,如果我调试应用程序项目,我可以进入 ( F11) dll 代码,并且 VS 会打开正确的 .cs 文件。但如果我不调试,按下F12只会打开一个..[From Metadata]窗口。

不调试时有没有办法浏览代码?

0 投票
1 回答
421 浏览

c++ - 从程序集中调试用户的崩溃

我有一个软件应用程序,一些用户报告在某些情况下可靠地崩溃。我无法在我拥有的任何机器上重现它,所以我对如何解决它感到很困惑。

一位用户向我发布了发生崩溃的装配线,如下所示:

我正在使用 Visual Studio 2010,并为我提供给用户的构建提供了 .pdbs。是否可以将此汇编跟踪转换为错误代码行?

0 投票
5 回答
5050 浏览

c# - 如何单步执行动态加载的 DLL 的源代码?

如何单步执行动态加载的 DLL 的源代码?我有一个 SLN,它是通过将 BIN 文件加载到 Visual Studio 2008 中自动创建的。它使用命令行界面功能,在这个命令行上,我可以发出命令来加载 DLL。我加载的 DLL 是从源代码构建的。所以我应该能够逐步完成这个源代码。

我是否需要以某种方式加载 mdb 或以某种方式告诉集成开发环境如何处理源代码?目前,我不能在源代码中放置任何断点。

0 投票
1 回答
645 浏览

.net - PDB 文件和源不同步

我正在尝试使用 NDepend 分析一些程序集,但它抱怨 pdb 文件和源文件彼此不同步。但是,程序集的开发和编译发生在与我运行 NDepend 的服务器相同的服务器上。

我怎样才能解决这个问题?我看到很多人都有这个问题,通过谷歌搜索,但没有真正的解决方案。另外,我将在开发服务器的另一台服务器(自动构建服务器)上运行 NDepend,所以将来我很可能会再次遇到同样的问题。查看 NDepend 的文档,存储源的路径必须始终相同(但我从未违反此规则)。

重新编译程序集会解决这个问题吗?这个问题有多严重?

谢谢

0 投票
9 回答
127997 浏览

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

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

0 投票
4 回答
1345 浏览

c# - “没有为当前文档加载符号” ASP.NET C# 项目

这次怎么办??

我讨厌 VS 和这种象征性的胡言乱语,似乎从来没有两次相同的解决方案(如果它曾经是逻辑的话)。下面的屏幕转储说明了它所说的内容。

一旦我按 F5/启动 web 项目,断点就会变黄。这只会影响正在更改的 aspx.cs 文件。其他 aspx.cs 文件可以有断点。

当我重建/构建所有 DLL 和 PDB 文件时,就可以很好地创建。它们具有相同的编译时间并位于同一目录中。Module-Windows i VS 表示符号已完美加载。好吧,是的,试着咬我!

我可以说,所有符号都工作得很好,直到我要在这些 aspx.cs 文件中进行更改(这是自上次以来的一段时间)。如果我重新设置文件,则断点正在工作。如果我尝试在另一个文件中进行更改,问题就会出现在那里。

看起来符号文件生成器不理解在​​ aspx.cs 文件中所做的更改。

Web 项目设置(构建选项卡、发布模式和调试模式)

0 投票
1 回答
1654 浏览

svn - 如何获取 SrcSrv 中包含的 svnindex.cmd 脚本来索引其中包含 URI 转义空格的源文件?

我最近设置了一个符号服务器,并在我们的构建脚本中添加了SrcSrv支持,以便我们可以轻松地从现场调试故障转储,并让 WinDbg 和/或 Visual Studio 调试器从我们的 Subversion 存储库中获取正确版本的源文件用于编译我们应用程序的任何特定版本崩溃。

我在我们的构建脚本中添加了一行来调用svnindex.cmdDebugging Tools for Windows 软件包附带的 stock 脚本,但发现脚本会混淆包含 URI 转义字符(如空格)的存储库文件路径,因此 WinDbg 无法从存储库。

请注意svnindex.cmd(特别svn.pm是它启动的 Perl 脚本)从svn info命令的输出中获取源文件的存储库位置,以及svnURI 转义存储库路径。当svnindex.cmd遇到这种情况时,它会破坏路径。例如,它会转动路径

进入

事实证明,SrcSrv 将“%”之间的任何内容解释为它在运行时替换的变量名。

假设重命名我们存储库中的所有目录以删除可能被 URI 转义的空格和其他“特殊”字符是不可行的,我该如何解决这个限制?