我有一款應用程序可以在設備模擬器上正常工作,但在真正的設備上它會在一段時間後崩潰。幾分鐘後以及1-2小時後可能會發生。 問題發生在設備本身或連接到視覺工作室。什麼可以導致WP7應用程序崩潰,無一例外
問題是沒有異常被拋出,VS只是報告連接丟失。 我沒有檢查我是否使用了太多的內存,但事實並非如此(http://stackoverflow.com/questions/4239193/whats-causing-my-wp7-app-to-crash)。
什麼能導致應用程序崩潰而不拋出異常?
我有一款應用程序可以在設備模擬器上正常工作,但在真正的設備上它會在一段時間後崩潰。幾分鐘後以及1-2小時後可能會發生。 問題發生在設備本身或連接到視覺工作室。什麼可以導致WP7應用程序崩潰,無一例外
問題是沒有異常被拋出,VS只是報告連接丟失。 我沒有檢查我是否使用了太多的內存,但事實並非如此(http://stackoverflow.com/questions/4239193/whats-causing-my-wp7-app-to-crash)。
什麼能導致應用程序崩潰而不拋出異常?
它可以在沒有的情況下發生崩潰例外情況爲Stackoverflow。
在調試時,您可以通過向Application.UnhandledException
添加事件處理程序並在Debug.WriteLine
方法中寫入異常詳細信息來檢測到此類異常。結果在Visual Studio輸出/調試窗口中可見。
private void OnAppUnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
Debug.WriteLine(e.ExceptionObject.ToString());
}
這可能是phsycal設備不完全匹配仿真配置。您可能會向設備上不存在的輸出流發送錯誤,或者將錯誤發送到本地用於設備的仿真器和遠程設備的某個輸出流。
此外,你可能只是滿足不同的條件,讓你一個乾淨的出口。
與許多設備上的所有後臺應用程序相比,仿真程序可能運行得很乾淨。
記錄和調試是你的朋友。
你的問題很有趣,但缺乏細節。
如果它發生在非UI線程上,您可能會遇到未被捕獲的崩潰。檢查你的異步電話。
此外,響應應用程序欄按鈕項目或菜單項上的操作而執行的代碼中的任何錯誤都可能導致此行爲。
我有一些無效的xaml崩潰的應用程序的實例。
您可以在Visual Studio中更改設置以解決例外情況,以打破所有異常情況,以追蹤發生的情況。
這是否僅適用於WP7?因爲去年我調試了一個由於StackOverflowException而崩潰的應用程序,並且VS像其他任何未處理的異常一樣崩潰。 – Zmaster 2011-05-23 18:12:00
根據鏈接沒有異常拋出stackoverflow自c#2.0 – thumbmunkeys 2011-05-23 18:14:09
我只是做了這個測試。在.NET 4上,拋出了StackOverflowException,即使try/catch語句沒有抓住它,VS也會中斷。在WP7應用程序中,應用程序崩潰,VS失去連接。似乎我應該在這個方向工作:) – Zmaster 2011-05-23 18:30:26