所以我有这个运行VM的程序。我需要从主机调试该程序的本机代码。但是当我在Visual Studio中附加过程时(2010年或2013年,我尝试了两者)模块列表中出现了一些DLL但没有出现本机代码。另外,当我检查VM上程序加载的DLL是什么时,我找到了我需要的所有DLL,包括原生的。
我的主机运行Windows 8,我的虚拟机运行Windows 7.我试图做同样的事情,但虚拟机是Windows XP,它工作得很好。
我花了一整天时间研究这个问题,但我没有找到任何解决方案。我甚至尝试创建一个使用DLL的非常简单的程序,但它也没有用。对于那个简单的程序,模块列表显示:
MyExecRefsDll.exe
ntdl_c_v.dll
而不是:
MyExecRefsDll.exe
ntdll.dll
kernel32.dll
KernelBase.dll
MathFuncsDll.dll
通常我应该拥有所有这些,即使它无法加载PDB。
有没有人知道为什么会这样或者我如何解决它?