2014-09-05 82 views
10

我正在使用Windows Phone 8.1應用程序。我進入該項目大約一個月,並且迄今爲止所寫的內容幾乎沒有任何問題。Windows Phone 8.1應用程序崩潰時未調試異步等待

我決定對應用程序進行一些測試,而不通過VS 2013調試器運行。現在,出於某種原因,應用程序在進入第一個屏幕之前崩潰。我沒有任何例外或消息(我正在使用Raygun進行錯誤記錄)。

我在整個使用異步方法(一些異步無效,其他異步任務),但所有這些工作時調試。

最主要的是會得到某種錯誤信息。我已經減少了對部分代碼的評論,但最終這讓我無處可去,因爲看起來當我認爲我發現了這個問題時,我又陷入了另一個崩潰的代碼。

有一次,我發現調用ListView.UpdateLayout()時出現問題。我評論了這一點,該應用程序將正常運行沒有崩潰。然後我再取消了一些代碼的評論,現在又崩潰了。

如果有人知道從手機獲取例外的方式,或者如果有人遇到過這個問題,任何幫助將不勝感激。我可以提供任何需要的進一步信息。

更新: 我想我已經將問題縮小到Sqlite.NET。我爲WinRT使用Sqlite.Net以及名爲SqliteNetExtensions的擴展。特別聲明是

DataContext.Context.Connection.Table<Message>().Where(m => m.ChannelID == channelID && m.ChannelID.Contains("C")).ToList(); 

如果我評論這一點,應用程序運行沒有問題。這個LINQ語句最多返回100條記錄。我不認爲100條記錄的SELECT語句可能會導致應用程序崩潰,但它似乎是罪魁禍首。關於如何優化Sqlite.NET的任何想法?

UPDATE 2: 終於搞明白了!它根本不是SQLite。這根本不是我的代碼。這是我的手機。我正在運行諾基亞Lumia圖標。幾周前我已經安裝了Rudy Huyn的Lockscreen Beta。它在我卸載它時導致了一些問題,但它與我的應用程序無關。今天,我讓我的商業夥伴在手機上安裝我的應用程序,他有相同的型號手機。該應用程序大約快50倍,並沒有崩潰。我從工廠恢復了我的手機,你看,它運行得很完美。所以,專業提示:不要安裝魯迪胡恩的LOCKSCREEN BETA!

+0

你可以嘗試下在事件查看器日誌上的劣勢的好文章*應用與服務** **微軟的Windows ** APPX \ **。 – 2014-09-05 20:32:43

+0

@JeroenVannevel謝謝,但這並沒有給我太多。我真正需要的是查看電話本身上的錯誤/事件日誌的方法。有什麼方法可以獲得這些信息嗎? – 2014-09-05 20:38:13

+0

將該方法的全部內容放入try-catch中,並在messagedialog中捕獲異常? – 2014-09-06 01:42:14

回答

1

另外,我會花時間確保您始終避免使用異步無效。有據可查的是,異步無效通常是麻煩的處方。

沒有顯示出here

相關問題