2

我正在開發Windows Phone 8.1應用程序。如何調試掛在Windows Phone 8.1上的應用程序

我的應用程序在啓動時完全掛起,並且不會移動/滾動用戶輸入。但是,如果我強制關閉我的應用程序並重新打開,它似乎工作正常。

所以有2個結果,有時兩者會發生,但不一致

  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完全掛起的問題。

如果有人能指出我正確的方向,我將不勝感激。

+0

當您的應用程序加載時,它會運行什麼樣的代碼?它是否下載任何東西? – kernanb

+1

是的代碼使得大量的API調用來下載json有效載荷,並且多個請求並行發生。 – vivekp

+2

檢查是否有任何對任務的「等待」或「結果」調用。 –

回答

1

除了獲得一個最小的攝製弗雷德以上建議,試着要去調試 - >例外...菜單,使時拋出對所有的人都看看是否有什麼有趣的彈起(注意:通常會從Windows內部獲得良性的第一次偶然異常,因此請盡情享用)。

當應用程序處於掛起狀態打暫停按鈕,在VS,並期待在調試 - >窗口 - >Parallel Tasks窗口,看看你能確定是什麼在等待。

最後,考慮在您的應用中的各個點(在App的構造函數中,每當您開始下載,每當您完成下載等時)添加Debug.WriteLine調用以查看是否執行了任何代碼。

相關問題