0

我有一个 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) 似乎没有在远程计算机上运行。这可能是因为防火墙阻止了与远程计算机。有关配置远程调试的帮助,请参阅帮助。

尝试将本机调试器附加到 IP 时出现错误消息

通过“播放”按钮将应用程序部署到 HL2 时,我识别出调试输出中提到的端口号 55142:

调试输出中显示的调试器侦听端口

所以我尝试将调试器直接附加到这个端口,但这样做会导致不同的错误消息:

“无法连接到名为‘192.168.1.21:55142’的 Microsoft Visual Studio 远程调试器。连接请求被远程调试器拒绝。确保远程调试器在‘Windows 身份验证’模式下运行。”

尝试将本机调试器附加到 IP:Port 时出现错误消息

有任何想法吗?

4

1 回答 1

0

如果您想在 HoloLens 上调试已安装的应用程序,此文档值得一读:调试已安装或正在运行的应用程序

以下是文档中显示的用于调试在未从 Visual Studio 项目部署的情况下安装的通用 Windows 应用程序的特定步骤:

  1. 转到调试 -> 其他调试目标 -> 调试已安装的应用程序包
  2. 为 HoloLens 选择远程机器目标或为沉浸式耳机选择本地机器。
  3. 输入您设备的 IP 地址
  4. 选择通用认证模式
  5. 该窗口显示正在运行和不活动的应用程序。选择一个你想调试的。
  6. 选择要调试的代码类型(托管、本机、混合)单击附加或开始
于 2020-06-11T05:41:54.520 回答