远程调试时丢失MSVCP140D.dll等

问题描述 投票:0回答:1

我想我有一个简单的问题,但对我来说并不明显:

我的构建 PC 上有 VS 2022,我的远程目标 PC 上有 VS 2022 远程调试器。 在构建 PC 上的 VS 项目中,在调试属性中,我配置了远程服务器和远程命令。
我使用调试版本。

启动远程进程时,我在远程目标 PC 上收到几个有关丢失的消息框

  • msvcp140d.dll
  • ucrtbased.dll
  • vcruntime140d.dll

我在

C:\Program Files\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64
(远程调试器 exe 旁边)中看到远程 PC 上的 msvcp140.dll(不带 d)。

我能够调试发布版本。 但为什么我的调试版本失败了?这不是一个常见的远程调试用例吗?

visual-studio dll remote-debugging
1个回答
0
投票

显然,正如 Hans Passant 在他的评论中正确指出的那样,需要将所需的 debug dll 手动复制到目标 PC。我使用 exe 目录作为目标。

另请参阅 这篇 learn.microsoft.com 文章

或者考虑链接到 release dll:请参阅 这个答案

这里是我使用的源目录的快速参考(尽管调试 PC 上有更多实例,但我使用了

debug_nonredist
目录中的文件):

  • C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.34.31931\debug_nonredist\x86\Microsoft.VC143.DebugCRT\msvcp140d.dll
  • C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.34.31931\debug_nonredist\x86\Microsoft.VC143.DebugCRT\vcruntime140d.dll
  • C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.UniversalCRT.Debug\10.0.19041.0\Redist\Debug\x86\ucrtbased.dll
  • C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\Hostx86\x86\clang_rt.asan_dbg_dynamic-i386.dll
© www.soinside.com 2019 - 2024. All rights reserved.