我正在开发Windows Phone 8.1应用程序。
我的应用程序在启动时完全挂起,并且不会移动/滚动用户输入。但是,如果我强制关闭我的应用并重新打开,它似乎工作正常。
所以有2个结果,有时都会发生,但不一致
在检查输出窗口时,我观察到当第一个场景发生时,我的输出窗口显示一系列线程退出,如下所示
The thread 0x680 has exited with code 259 (0x103).
The thread 0x780 has exited with code 259 (0x103).
The thread 0xc5c has exited with code 259 (0x103).
The thread 0x9a0 has exited with code 259 (0x103).
The thread 0xc90 has exited with code 259 (0x103).
The thread 0x4f4 has exited with code 0 (0x0).
The thread 0x2f4 has exited with code 0 (0x0).
但是,在应用程序工作正常的第二种情况下,我没有看到这些线程退出。
这让我觉得这可能会发生,因为有些线程被卡在无限循环中。
除此之外,我没有看到任何可能导致此问题的例外
我确实查看过this和this个链接。但它没有说明如何解决这些类型的问题。
如何调试这些类型的问题。使UI完全挂起的问题。
如果有人能指出我正确的方向,我将非常感激。
答案 0 :(得分:1)
除了像上面Fred建议的那样获得最小的repro之外,请尝试转到 Debug - >例外...... 菜单并为所有人启用投掷以查看是否有任何有趣的内容弹出(注意:您经常从Windows内部获得良性的第一次机会异常,因此请使用谷物盐)。
当应用处于挂起状态时,点击VS中的暂停按钮,然后查看调试 - > Windows - > Parallel Tasks 窗口,看看您是否可以确定等待的内容。
最后,考虑在您的应用中的各个点(Debug.WriteLine
构建器中,每当您开始下载,完成下载等时)添加App
个调用,以查看是否有任何代码被执行。