【发布时间】:2019-08-03 21:44:37
【问题描述】:
我正在尝试使用 Visual Studio 以托管方式调试内存转储,但失败并显示以下错误消息:
托管调试不适用于此小型转储。
找不到托管小型转储调试所需的库“mscordbi.dll”,版本“4.0.30319.0”。
尝试以下任一步骤后重新启动调试会话:
- 如果此计算机当前未连接到 Internet,请连接以便可以从 Microsoft 下载 dll。
- 在调试器选项下的符号设置中指定“mscordbi.dll”的路径。
- 选择“仅使用本机调试”。
在检查我的符号设置时,有以下符号文件 (.pdb) 位置(均已检查):
Environment Variable: _NT_SYMBOL_PATH
Microsoft Symbol Servers
C:\Dump_Repository\... (not relevant for this question)
预知缓存目录,自动加载首选项设置为Load all modules, unless excluded。唯一排除的一个是user32.dll。
_NT_SYMBOL_PATH 环境变量的值如下:
cache*;srv*C:\Dump_Analyse*C:\build_machine1;cache*;srv*C:\Dump_Analyse*\\build_machine2\Development\Symbols;cache*;srv*C:\Dump_Analyse*\\build_machine1\Symbols;cache*;srv*https://msdl.microsoft.com/download/symbols;cache*;srv*C:\ProgramData\dbg\sym
在提到的目录C:\Dump_Analyse中,有一个目录mscordbi.dll,有三个子目录,每个子目录都包含提到的mscordbi.dll DLL:
Prompt>find ./ -name "mscordbi.dll" 2>/dev/null
./Dump_Analyse/mscordbi.dll (this is a directory)
./Dump_Analyse/mscordbi.dll/4BA1DA2Deb000/mscordbi.dll
./Dump_Analyse/mscordbi.dll/563C0E8E10b000/mscordbi.dll
./Dump_Analyse/mscordbi.dll/583E5AAD10b000/mscordbi.dll
最后两个似乎无关紧要,但第一个的文件版本为4.0.30319.1(非常接近请求的版本)。
我的电脑已经联网了,我的账号好像没问题(我最近修改了windows账号的密码,但是我用其他账号登录了Visual Studio)。
有谁知道这里可能发生了什么以及我该如何解决这个问题?
【问题讨论】:
标签: c++ visual-studio managed debug-symbols tilde