2011-05-27 71 views
0

这是一个奇怪的。游戏并没有退出,也没有抛出异常,据我所知,但完全锁定(也许冻结是一个更好的词)。如果有一种方法可以在VS中拍摄,我显然不知道它是什么。XNA Phone 7:游戏锁起来,也不例外,但仍'运行'

我看起来远非一般策略:VS2010中有哪些工具可以监控?获得某种输出?或者可能是在手机7游戏代码中放置try/catch的战略地点?

我几乎卡住了,所以任何帮助将不胜感激。

+1

难道你不能在VS2010中暂停游戏,并且通过代码来查看它冻结的位置? – anothershrubery 2011-05-27 12:40:59

+0

你的第二个人提到暂停游戏功能。这必须在某个菜单上,我还没有注意到它。 – 2011-05-27 16:21:01

+0

标准工具上有3个图标,看起来像_play_,_pause_和_stop_按钮。如果按下暂停按钮,它将在当前正在执行的一段代码处中断。然后你可以遍历代码。这是调试101而不是XNA特定的。 – anothershrubery 2011-05-30 09:25:35

回答

2

当您在模拟器或设备上附加了调试器,并且发生锁定时,按下暂停按钮并查看是否有调用堆栈。

+0

我所做过的所有事情都是在VS上进行网络编程,并不再想知道为什么我会使用暂停按钮。事实上,完全忘记了它的存在。我弹开它,你知道什么......不满意的循环条件。谢谢你的叫醒。 – 2011-05-29 12:39:00

+0

是的,大多数情况下,它只是闯入“等待某些事情发生循环”,通常在某些系统代码中。每过一段时间它都派上用场。 – dkackman 2011-05-29 13:30:08

1

升级到芒果工具的测试版,然后通过(新建,内置)探查器运行应用程序。

如果您一旦冻结就强行终止应用程序,您应该能够查看探查器数据以查看“锁定”时发生的情况。