我有一个 IL2CPP Unity 应用程序,它使用为 HoloLens 2 构建的定制本机 DLL。
使用 Visual Studio 2019 和 Unity 插件工具通过Debug -> Attach Unity Debugger 调试正在运行的应用程序的托管 C# 代码就可以正常工作。它会自动检测在 HL2 上运行的应用程序,我可以连接到它。
我还可以通过将其源项目添加到生成的 IL2CPP 解决方案来调试我的本机库 C++ 代码。当我按下“播放”按钮时,VS 构建 UWP 应用程序并将其部署到 HL2 并自动附加调试器,这使我也可以调试在设备上运行的自定义本机代码,到目前为止这非常棒。
但是,当它在 HL2 上手动启动时,如何将 VS 本机调试器附加到应用程序?问题是,使用“播放”按钮,它总是将整个应用程序重新部署到 HL2,即使没有进行代码更改 - 这个过程总是需要很长时间,这真的很烦人。
我想,它可以通过Debug -> Attach to Process工作,但我无法连接到 HL2,既没有使用它的网络名称也没有使用 HL2 的 IP 地址作为Connection Target。USB 电缆也已连接。每次尝试都失败并显示以下错误消息:
“无法连接到名为‘192.168.1.21’的 Microsoft Visual Studio 远程调试器。Visual Studio 2019 远程调试器 (MSVSMON.EXE) 似乎没有在远程计算机上运行。这可能是因为防火墙阻止了与远程计算机。有关配置远程调试的帮助,请参阅帮助。
通过“播放”按钮将应用程序部署到 HL2 时,我识别出调试输出中提到的端口号 55142:
所以我尝试将调试器直接附加到这个端口,但这样做会导致不同的错误消息:
“无法连接到名为‘192.168.1.21:55142’的 Microsoft Visual Studio 远程调试器。连接请求被远程调试器拒绝。确保远程调试器在‘Windows 身份验证’模式下运行。”
有任何想法吗?