我正在开发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).
    

    但是,在第二种情况下,当应用程序正常运行时,我看不到这些线程退出。

    这让我感到这可能是由于某些线程陷入无限循环而发生的。

    除此之外,我看不到任何可能导致此问题的异常

    我确实看过thisthis链接。但这并未说明如何解决此类问题。

    如何调试这些类型的问题。使UI完全挂起的问题。

    如果有人能指出我正确的方向,我将不胜感激。

    最佳答案

    除了按照Fred的建议进行最小程度的复制外,还请尝试转到调试->异常... 菜单,然后为所有人启用被 throw 的,以查看是否弹出了一些有趣的内容(请注意:您通常会获得良性第一-在Windows内添加异常的机会,因此请多加盐分)。

    当应用程序处于挂起状态时,请在VS中单击暂停按钮,然后查看调试-> Windows-> Parallel Tasks 窗口以查看是否可以确定正在等待什么。

    最后,考虑在应用程序的各个点添加Debug.WriteLine调用(在App构造函数中,无论何时开始下载,完成下载等),以查看是否执行了任何代码。

    关于c# - 如何调试Windows Phone 8.1上挂的应用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30997413/

    10-11 22:16
    查看更多