【问题标题】:Not able to attach native C++ Debugger to Unity App already running on HoloLens2无法将本机 C++ 调试器附加到已在 HoloLens2 上运行的 Unity 应用程序
【发布时间】:2020-06-10 07:46:20
【问题描述】:

我有一个 IL2CPP Unity 应用程序,它使用为 HoloLens 2 构建的定制本机 DLL。

通过调试->附加 Unity 调试器,使用 Visual Studio 2019 和 Unity 插件工具调试正在运行的应用程序的托管 C# 代码可以正常工作。它会自动检测在 HL2 上运行的应用程序,我可以连接到它。

我还可以通过将其源项目添加到生成的 IL2CPP 解决方案来调试我的本地库 C++ 代码。当我按下“播放”按钮时,VS 构建 UWP 应用程序并将其部署到 HL2 并自动附加调试器,这使我也可以调试在设备上运行的自定义本机代码,到目前为止这非常棒。

但是,当在 HL2 上手动启动 VS 原生调试器时,如何将其附加到应用程序?问题是,使用“播放”按钮,它总是将整个应用程序重新部署到 HL2,即使没有进行任何代码更改 - 这个过程总是需要很长时间,这真的很烦人。

我想,它可以通过 Debug->Attach to Process 工作,但我无法连接到 HL2,既不使用其网络名称,也不使用 IP HL2 的地址作为连接目标。 USB 电缆也已连接。每次尝试都失败并显示以下错误消息:

“无法连接到名为“192.168.1.21”的 Microsoft Visual Studio 远程调试器。Visual Studio 2019 远程调试器 (MSVSMON.EXE) 似乎没有在远程计算机上运行。这可能是因为防火墙阻止了与远程计算机的通信。有关配置远程调试的帮助,请参阅帮助。"

Error message on trying to attach native debugger to IP

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

Debugger listening port shown in the Debug Output

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

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

Error message on trying to attach native debugger to IP:Port

有什么想法吗?

【问题讨论】:

    标签: visual-studio unity3d debugging hololens il2cpp


    【解决方案1】:

    如果您想在 HoloLens 上调试已安装的应用程序,此文档值得一读:Debugging an installed or running app

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-20
      • 2011-02-27
      • 2014-01-22
      • 2017-05-27
      • 1970-01-01
      • 2011-06-30
      • 2014-09-10
      • 2015-01-23
      相关资源
      最近更新 更多