3

我有一个在 Android 设备上运行的基于 Unity 的游戏。理论上,应该可以通过在运行时附加到 AndroidPlayer 来单步执行统一代码。

好吧,我遵循了如何做到这一点的规则。

1) 创建了启用脚本调试的开发版本。

2)在有播放器的wifi上运行带有脚本调试的应用程序。

最初它起作用了。然后我的网络可能会发生一两次变化,我不再将 AndroidPlayer 视为 MonoIDE 中附加的选项。它消失了,几天来我无法调试。不仅如此,我真的不知道在哪里检查这个。我拔掉了以太网电缆,因此设备和 Mac 都在同一个 wifi 上,在单个子网上运行。似乎没有任何帮助。但真正让我失望的是,当这种事情发生时,Unity 中真的没有什么可以检查的。它只是试图附加到过程中。希望 AndroidPlayer 进程存在,如果不存在。倒霉。

PS:我应该补充一下,我在 Unity Pro 4.2.04f 上。它运行良好,然后谁知道它停止找到 AndroidPlayer。真是一团糟!

PS:我尝试过的事情。ping 到 ip 地址,并远程登录到端口(成功到 ip:5555)

注意:这不是我所说的 Android 调试器,而是需要在应用程序中运行的播放器,并且对 MonoIDE 可见以便进行调试。

我真正想了解的是,当我无法将 AndroidPlayer 视为要附加到的进程时,我的选择是什么?如何调试这个问题?如果 AndroidPlayer 成功运行,日志中是否有内容?monodebug怎么会看不到呢?我怎么知道它是否在设备上运行。

谢谢

4

2 回答 2

0

您是否查看过 Android 设备的 IP 地址并尝试对其进行 ping 操作?我发现,在英国,我们 BT 提供的“家庭集线器”经常会随机地停止在同一网络上的设备之间路由流量。

我发现如果我无法调试(而且我相信 Unity 4.2 仍然使用 wifi 调试),那么我通常也无法打印,这是因为路由器已停止路由流量。

快速重启路由器通常会修复它。

PS 刚刚读到关于 ping 成功的信息。您是否下载并运行“wireshark”来查看正在发生的网络流量?至少这会告诉你网络层发生了什么。

其他想法,调试机器上运行的任何类型的防火墙?

于 2014-07-30T21:15:50.820 回答
0

尝试:1)禁用杀毒软件2)禁用防火墙3)卸载Xamarin(以防您使用VS进行调试)

当我遇到同样的问题时,这确实帮助了我

于 2018-04-02T20:55:00.547 回答