2010-11-27 67 views
0

有沒有工具或日誌,我可以看到什麼導致我的應用程序在Android手機上運行,​​掛起或最終崩潰?如何在android中檢查程序崩潰的方式?

我編寫了一個可運行的簽名應用程序,它檢查我的服務器上的消息並向接收方發送短消息,以及兩天或三天後,應用程序死機或崩潰。

我怎樣才能看到造成這次事故的原因?

問候。

沙夫卡特

private void startservice() { 
    r = new Runnable() 
    { 
     public void run() 
     { 
      //execute the sms class and get the url 
      //build the url 
      SendSMS sms = null; 
      //TODO get the url from a database 
      Map<String, String> jsonitems = new JSONParser().parse(urlsmsservice+getDeviceId()); 
      if(!jsonitems.isEmpty()){ 
       sms = new SendSMS(context, jsonitems.get("PHONENUMBER").toString(), jsonitems.get("MESSAGE").toString()); 
       sentReceiver.setCallbackUrl(jsonitems.get("CALLBACKURL").toString()); 
       deliveredReceiver.setCallbackUrl(jsonitems.get("CALLBACKURL").toString()); 
       sms.send(); 
      }else{ 
       Log.d(TAG, "No messages in Queue"); 
      } 
      //handler.postDelayed(this, getInterval()); 
     } 
    }; 

    handler = new Handler(); 
    thread = new Thread() 
    { 
     @Override 
     public void run() { 
      try { 
       while(thbool) { 
        sleep(getInterval()); 
        handler.post(r); 
       } 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 
    }; 

    thread.start(); 
} 

回答

1

確保ADB工具安裝(它們將與SDK)。然後運行adb logcat,這將顯示系統日誌輸出(有用的是拋出異常)。還有一些自由市場應用程序會告訴你logcat緩衝區(想到aLogCat)。

+0

+1給Yann。查看Android所擁有的偉大DOCUMENTATION,ADB和logcat是您應該熟悉的第一件事情。另外,諸如「Quick System Info」等應用可以向您顯示日誌,如果您的應用在Market上,發佈網站上的信息屏幕(只有您可以看到)也具有錯誤/崩潰細節。 – 2010-11-27 23:25:01