我使用Visual Studio 2013编写C ++ DLL,然后EXCEL意味着通过VBA加载DLL。在Visual Studio Project Property -> Configuration Properties -> Debugging -> Command = C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE
中设置后,我开始调试,然后出现一个对话框:
调试' Excel.exe'的信息无法找到或不找到 matach。无法找到或打开PDB文件。你想继续吗 调试?
点击“是”后,我发现VS正在尝试下载大量pdb
个文件并失败:
' EXCEL.EXE' (Win32):已加载' C:\ Program Files(x86)\ Microsoft 办公室\ OFFICE14 \ EXCEL.EXE&#39 ;.无法找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载' C:\ Windows \ SysWOW64 \ ntdll.dll'。不能 找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载 ' C:\ WINDOWS \ Syswow64资料\ kernel32.dll中&#39 ;.无法找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载' C:\ Windows \ SysWOW64 \ KernelBase.dll'。 无法找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载 ' C:\ WINDOWS \ Syswow64资料\ ADVAPI32.DLL&#39 ;.无法找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载' C:\ Windows \ SysWOW64 \ msvcrt.dll'。不能 找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载 ' C:\ WINDOWS \ Syswow64资料\ sechost.dll&#39 ;.无法找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载' C:\ Windows \ SysWOW64 \ rpcrt4.dll'。不能 找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载 ' C:\ WINDOWS \ Syswow64资料\ sspicli.dll&#39 ;.无法找到或打开PDB文件。
' EXCEL.EXE' (Win32):已加载' C:\ Windows \ SysWOW64 \ cryptbase.dll'。 无法找到或打开PDB文件。
等等,虽然最后调试没问题。
这样的VS行为好吗?我发现有点奇怪,要调试我的DLL,需要下载EXCEL.EXE和NTDLL.DLL的PDB文件。
这里似乎有类似的帖子:How can I debug this error: 'Debugging information for iisexpress.exe cannot be found or does not match'?。但那个是MVC项目(我的是C ++)和Visual Studio设置不同。
答案 0 :(得分:1)
无法找到或打开PDB文件。
通常,此错误与加载的符号有关。我们需要在TOOLS-> Option-> Debugging-> Symbols下启用符号Server,并检查模块窗口并确保所有符号都已成功加载。