kgi*_*ibm 2 windows visual-studio-2017
我正在尝试使用 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 ==========
Run Code Online (Sandbox Code Playgroud)
当我在 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
Run Code Online (Sandbox Code Playgroud)
以防万一,我运行了以下并成功,但 dia2dump 失败并出现相同的错误(也在重新启动后):
regsvr32 "C:\Program Files\Common Files\Microsoft Shared\VC\msdia100.dll"
Run Code Online (Sandbox Code Playgroud)
我该如何调试?
x64 类未注册。你需要
regsvr32使用 x64 位运行msdiaXXX.dll
RbMm 已经将正确答案发布为评论。但如果有人面临同样的问题:要注册 64 位 DLL,您需要使用文件夹regsvr32.exe中的DLL C:/Windows/SYSWOW64!微软应该给它命名regsvr64.exe...
小智 5
我设法通过将 Dia2Dump.exe 构建为 32 位应用程序来使其工作。我在 Visual Studio Community 2017 中通过打开解决方案的项目来完成此操作properties,打开Configuration Manage...,然后将项目的平台更改为Win32.
我重建了项目,现在我不再有CoCreateInstance failed - HRESULT = 80040154错误了!它适用于我提供的任何 pdb 文件。
截至 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
Run Code Online (Sandbox Code Playgroud)
然后我编译为x64. 它对我有用。如果x64不起作用,您可以尝试x86。
对于 Visual Studio 2019,我必须执行:
regsvr32“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Professional \ DIA SDK \ bin \ msdia140.dll”
regsvr32“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Professional \ DIA SDK \ bin \ amd64 \ msdia140.dll”
在任何“公用文件”文件夹中都找不到这些文件
| 归档时间: |
|
| 查看次数: |
3186 次 |
| 最近记录: |