【发布时间】:2021-07-28 19:11:05
【问题描述】:
我正在尝试使用 Visual Studio 2017 及其 dia2dump 在 Windows 7 x64 上转储 PDB 的签名。我加载了C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\DIA SDK\Samples\DIA2Dump\DIA2Dump.sln。它构建成功:
1>------ Rebuild All started: Project: Dia2Dump, Configuration: Debug x64 ------
1>stdafx.cpp
1>regs.cpp
1>PrintSymbol.cpp
1>dia2dump.cpp
1>Generating Code...
1>Dia2Dump.vcxproj -> C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\DIA SDK\Samples\DIA2Dump\x64\Debug\Dia2Dump.exe
1>Dia2Dump.vcxproj -> C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\DIA SDK\Samples\DIA2Dump\x64\Debug\Dia2Dump.pdb (Partial PDB)
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
当我在 PDB 上运行它时,我收到以下错误:
C:\>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\DIA SDK\Samples\DIA2Dump\x64\Debug\Dia2Dump.exe" file.pdb
CoCreateInstance failed - HRESULT = 80040154
以防万一,我运行了以下命令并成功,但 dia2dump 失败并出现同样的错误(重启后也是如此):
regsvr32 "C:\Program Files\Common Files\Microsoft Shared\VC\msdia100.dll"
如何调试?
【问题讨论】:
-
x64 类未注册。您需要使用 x64 位 msdia100.dll 运行 regsvr32
-
@RbMm
dumpbin /headers表明msdia100.dll是x64。
标签: windows visual-studio-2017