我正在尝试使用VisualStudio2017及其x64 dia2dump在Windows7PDB上转储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"
我如何调试这个?
发布于 2018-05-15 12:03:36
x64级未注册。您需要运行
regsvr32
和x64位msdiaXXX.dll
RbMm已经将正确的答案作为评论发布了。但是,如果有人面临同样的问题:要注册64位DLL,您需要使用来自C:/Windows/SYSWOW64
文件夹的C:/Windows/SYSWOW64
!微软应该把它命名为regsvr64.exe
..。
发布于 2018-06-20 06:37:46
截至2018年6月20日,我所做的是:
regsvr32 C:\Program Files\Common Files\Microsoft Shared\VC\msdia100.dll
regsvr32 C:\Program Files\Common Files\Microsoft Shared\VC\msdia90.dll
regsvr32 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\DIA SDK\bin\msdia140.dll
然后我编译为x64
。对我起作用了。如果x64
不工作,你可以试试x86
。
发布于 2021-07-28 11:11:05
对于Visual 2019,我必须执行:
regsvr32 "C:\Program (X86)\\2019\Professional\DIA\bin\msdia140.dll“
regsvr32 "C:\Program (X86)\\2019\Professional\DIA\bin\amd64 64\msdia140.dll“
这些文件没有在任何“公共文件”文件夹中找到
https://stackoverflow.com/questions/46654548
复制相似问题