Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Absturz ohne wirkliche Fehlermeldung

Das Thema "Absturz ohne wirkliche Fehlermeldung" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 04.07.2011, 08:12   #1 (permalink)
Android Guru
 
Benutzerbild von walda

Modell: Samsung Galaxy NOTE & S III

Registriert seit: 17.02.2010
Beiträge: 2.155
Abgegebene Danke: 311
Erhielt 479 Danke für 292 Beiträge
Standard Absturz ohne wirkliche Fehlermeldung

Hallo!

Ich suche seit Wochen einen Fehler, der nur sehr sporadisch auftritt (sonst wär's ja fad ^^)

Ich reagiere uA auf BATTERY_CHANGED, und dort passiert es dann:
Code:
07-04 07:01:29.805 I/DrainGuardService( 5064): myLogWrite 1
07-04 07:01:29.805 I/DrainGuardService( 5064): myLogWrite 3
07-04 07:01:29.805 I/DrainGuardService( 5064): ReallyLogWrite 1
07-04 07:01:29.805 I/DrainGuardService( 5064): ReallyLogWrite 3x
07-04 07:01:29.805 I/DrainGuardService( 5064): myLogWrite 7x
07-04 07:01:29.805 D/AndroidRuntime( 5064): Shutting down VM
07-04 07:01:29.805 W/dalvikvm( 5064): threadid=1: thread exiting with uncaught exception (group=0x4001e578)
...mehr kommt nicht

Soll ich jetzt in jede meiner Routinen ein "Anfang" & "Ende" einbauen um zu lokalisieren was das Problem ist? Vor allem ändern sich die Battery% öfter und da geht ja alles gut.


Danke
__________________
Grüße, Walter ツ
Android Historie: Milestone, Legend, Desire HD, SGS, SGS2, Galaxy Note [4Sale], SGS3
Tablet: XOOM, iPad² | Samsung Ultrabook
Developer of: DrainGuard
walda ist offline   Mit Zitat antworten
Alt 04.07.2011, 16:55   #2 (permalink)
Ehren-Mitglied
 
Benutzerbild von Kranki

Modell: Nexus One

Registriert seit: 19.07.2009
Beiträge: 4.329
Abgegebene Danke: 127
Erhielt 1.372 Danke für 871 Beiträge
Kranki eine Nachricht über ICQ schicken
Standard AW: Absturz ohne wirklicher Fehlermeldung

Code:
07-04 07:01:29.805 W/dalvikvm( 5064): threadid=1: thread exiting with uncaught exception (group=0x4001e578)
Mich wundert, dass da drunter kein Stacktrace kommt. Meine erste Idee wäre das hier am Anfang deines Service/Activity auszuführen und sicherzustellen, dass was gelogt wird, wenn ein Thread an einer Exception stirbt.
Code:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            
            @Override
            public void uncaughtException(Thread thread, Throwable ex) {
                Log.e("Tag", "Exception caught in uncaught exception handler", ex);
            }
        });
Die andere Idee ist, mit einem try-catch um den gesamten Code selber alles zu fangen und zu loggen. (Bzw. einem try-catch um den gesamten Code an allen möglichen Einsprungpunkten - bei Android dürften das schon ein paar sein.) Musste ich kürzlich auch machen als ich Module für eine bestehende Software programmiert habe, die die per Reflection lädt und hilfreicherweise alle Exceptions schluckt ohne zu loggen. Irgendwo muss die Exception sein, und in der steht drin, was los ist.
__________________
CyanogenMod 7 Nightly - AmonRa Recovery 2.0 - Nexus One
Kein Support via PN und E-Mail. Bitte das Forum nutzen.
"Es ist Mode geworden, die Freiheitsrechte des Bürgers in den Mittelpunkt zu stellen." - Siegfried Kauder
Kranki ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Kranki für diesen Beitrag:
walda (05.07.2011)
Alt 04.07.2011, 20:49   #3 (permalink)
Android Guru
 
Benutzerbild von Fr4gg0r

Modell: Samsung Galaxy S (I9000)

Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
Standard AW: Absturz ohne wirklicher Fehlermeldung

oder das System killt dich einfach weil dein Programm zu lange braucht um das Event abzuarbeiten.
Fr4gg0r ist offline   Mit Zitat antworten
Alt 05.07.2011, 08:02   #4 (permalink)
Android Guru
 
Benutzerbild von walda

Modell: Samsung Galaxy NOTE & S III

Registriert seit: 17.02.2010
Beiträge: 2.155
Abgegebene Danke: 311
Erhielt 479 Danke für 292 Beiträge
Standard AW: Absturz ohne wirklicher Fehlermeldung

Danke, ich melde mich wieder...
__________________
Grüße, Walter ツ
Android Historie: Milestone, Legend, Desire HD, SGS, SGS2, Galaxy Note [4Sale], SGS3
Tablet: XOOM, iPad² | Samsung Ultrabook
Developer of: DrainGuard
walda ist offline   Mit Zitat antworten
Alt 18.07.2011, 08:25   #5 (permalink)
Android Guru
 
Benutzerbild von walda

Modell: Samsung Galaxy NOTE & S III

Registriert seit: 17.02.2010
Beiträge: 2.155
Abgegebene Danke: 311
Erhielt 479 Danke für 292 Beiträge
Standard AW: Absturz ohne wirklicher Fehlermeldung

Hallo,
dank eurer Routine weiss ich nun wo es passiert, leider aber nicht warum.

Wir haben einen

PHP-Code:
  private IntentFilter batteryLevelFilterpercentchange = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    private 
BroadcastReceiver batteryLevelReceiver3
um den Wechsel der Akku% mitzubekommen. Dies funktioniert auch in 99,9% der Fälle. Hie und da passiert halt dann das:

PHP-Code:
07-15 12:29:41.815 D/AndroidRuntime(27028): Shutting down VM
07
-15 12:29:41.815 W/dalvikvm(27028): threadid=1thread exiting with uncaught exception (group=0x4001e578)
07-15 12:29:41.815 E/DrainGuardService(27028): Default uncaught exception handler
07
-15 12:29:41.815 E/DrainGuardService(27028): Caught throwable java.lang.RuntimeExceptionError receiving broadcast Intent act=android.intent.action.BATTERY_CHANGED flg=0x60000000 (has extras) } in com.waldafx.DrainGuard.myAlarmReceiver$1@4055faa0 for thread Thread[main,5,main
Deshalb haben wir:
PHP-Code:
        batteryLevelReceiver3 = new BroadcastReceiver() {            
            public 
void onReceive(Context contextIntent intent) {
                
int level = -1;
                try 
                {
                    
int rawlevel intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
                    
int scale intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);                    
                    if (
rawlevel >= && scale 0) {
                        
level = (rawlevel 100) / scale;
                    }
... 
mit einem try-finally abgesichert, aber so weit kommt er gar nicht. Wie kann man dieses "Error receiving broadcast Intent" absichern? Die Nachricht kommt ja vom System und wir können ja nix dafür, dass der Intent nicht ordentlich befüllt zu sein scheint.

Danke
__________________
Grüße, Walter ツ
Android Historie: Milestone, Legend, Desire HD, SGS, SGS2, Galaxy Note [4Sale], SGS3
Tablet: XOOM, iPad² | Samsung Ultrabook
Developer of: DrainGuard
walda ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Rotation --> Absturz Bladefs Android App Entwicklung 2 26.07.2011 01:33
FroYo/Gingerbread: Apps schließen sich ohne Fehlermeldung DaBaschdie Motorola Milestone Forum 3 04.07.2011 23:16
Absturz + Bootloop trautna Root / Hacking / Modding für HTC Desire 24 17.09.2010 13:51
Absturz habela31 Motorola Milestone Forum 9 19.05.2010 15:40




Du liest gerade: "Absturz ohne wirkliche Fehlermeldung" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.