没有ntdll.dll的PDB文件

时间:2012-11-14 16:27:17

标签: visual-c++

尝试调试我正在开发的dll项目。在尝试使用宿主应用程序加载此dll时,我收到了消息框Debugging information for 'ntdll.dll' cannot be found or does not match. Cannot find or open the PDB file。如何解决这个问题?

经过一些实验并设置VS2010从服务器获取符号后我在buildind dll中有以下消息:

DEMO.exe':已加载'C:\ Windows \ System32 \ ntdll.dll',已加载符号(已删除源信息)。 DEMO.exe':已加载'C:\ Windows \ System32 \ mscoree.dll',已加载符号(源信息已剥离)。 DEMO.exe':已加载'C:\ Windows \ System32 \ kernel32.dll',已加载符号(源信息已剥离)。 DEMO.exe':已加载'C:\ Windows \ System32 \ KernelBase.dll',已加载符号(源信息已剥离)。

但是在运行debug时仍然描述了messagebox。

1 个答案:

答案 0 :(得分:1)

您可以拥有多种选择。

  1. 下载微软提供的符号包。这将为所有系统库下载PDB。将其解压缩到" c:\ symbolcache"
  2. 将符号路径设置为SRV * c:\ symbolcache * http://msdl.microsoft.com/download/symbols。在这种情况下,这将下载PDB文件并将其存储到" c:\ symbolcache"如果没有。
  3. 然后你必须设置" c:\ symbolcache"作为您正在使用的任何崩溃转储分析工具的符号文件路径。