Android-Debugging-Tipps

8

Oft stürzen meine Programme einfach ab. Ich kann nichts im LogCat oder anderweitig nützliche Informationen an anderer Stelle sehen, um herauszufinden, was falsch gelaufen ist. Das einzige, was ich sehe, ist eine Art Ausnahme. Dies ist inakzeptabel und macht Android-Programmierung nahezu unmöglich. Ich bin mir sicher, dass es einige zusätzliche Hilfe zum Debuggen geben muss, aber nach Wochen der Suche, nichts.

Hat jemand Hinweise, wie man einen Fehler in einem Programm findet, das einfach abstürzt?

Allgemeine Frage Ich weiß, aber ohne eine Antwort werde ich aufhören müssen, Apps für Android zu entwickeln. Ich kann nicht wochenlang nach jedem einfachen Fehler suchen.

    
Mitch 23.07.2010, 01:28
quelle

5 Antworten

3

Es gibt auch den eigentlichen Eclipse-Debugger. Wenn Sie das Programm nur mit dem Debugger ausführen, bis es abstürzt, wird möglicherweise kein besonders hilfreicher Stack-Trace angezeigt. Aber wenn Sie einen oder zwei Haltepunkte im Code hinzufügen, der kurz vor dem Absturz kommt, können Sie vorsichtig vorgehen und herausfinden, was schief läuft.

Obwohl ich immer noch ziemlich neu in der Android-Entwicklung bin, ist meine Erfahrung, dass die meisten der mysteriösen Abstürze in meinem Code im Wesentlichen ClassCastException s sind. Achten Sie sorgfältig auf all die Orte, an denen Sie etwas von einer Klasse in eine andere übertragen, und stellen Sie sicher, dass Sie nicht davon ausgehen, dass etwas von einem Typ ist, der es eigentlich nicht ist.

    
MatrixFrog 23.07.2010 06:21
quelle
1

Es klingt für mich, als ob Sie irgendwo einen Fehler in Ihrer Android-Installation haben. Der LogCat wird manchmal verwirrt und trennt die Verbindung zum virtuellen Gerät (siehe hier: leeren Bildschirm in logcat ).

Aber Ihr Problem klingt viel strenger. Ich weiß, dass es ein Schmerz ist, aber überlege dir eine Neuinstallation deines Android-Entwicklungssystems (einschließlich einer brandneuen Eclipse-Installation).

Ich hatte ähnliche Probleme, und eine neue Installation hat mir ziemlich geholfen (besonders nach ein paar Upgrades - die Dinge können ziemlich verwirrt werden).

Viel Glück.

    
Scott Biggs 11.04.2012 19:20
quelle
1

Das ist ein totaler Longshot, aber das ist die Antwort für diesen Android-Neuling: Sind Sie sicher, dass Ihr Gerät verbunden ist?

Was in meinem Fall passierte (das brachte mich hierher und dachte, dass meine App keine Abstürze an LogCat gemeldet hat), war das, was ich dachte, dass ich nicht mein Telefon war, sondern der Android-Emulator, den ich zufällig hatte gleichzeitig laufen. Als ich merkte, dass dies geschah, habe ich den Emulator verlassen und der Logcat gestoppt.

Als ich Logcat erneut ausgeführt habe, stellte sich heraus, dass es nicht einmal mein Telefon gefunden hatte:

%Vor%

Von da an musste ich durch ein paar Ringe gehen, um mein Handy zu erkennen, wie zum Beispiel adb nicht finden mein Gerät / Telefon (MacOS X) und Debugging am Telefon aktivieren . Zuletzt musste ich android: debuggable = true festlegen.

Nachdem ich adb gelöscht und logcat erneut ausgeführt hatte, schaute ich mir die richtigen Logs an und konnte die Absturzausnahmen sehen.

    
Timothy High 24.02.2013 07:09
quelle
0

Eigentlich bin ich mir nicht sicher, ob Sie einen normalen Absturz haben. Es könnte ein ANR oder ein ähnliches Phänomen sein, das alles blockiert. Das würde wahrscheinlich dazu führen, dass Sie weniger Protokolle aus Ihrer Anwendung sehen. Ich denke, dass die Debugging-Unterstützung für Android im Vergleich zu anderen Umgebungen, mit denen ich gearbeitet habe, ziemlich klassisch ist.

    
Cubed 09.09.2011 06:09
quelle
0

Folge den roten Zahlen. Sie müssen in der Debug-Ansicht sein

1) Klicken Sie auf das Ereignis, das die Ausnahme ausgelöst hat 2) Navigiere zu den Variablen, die für dieses Ereignis generiert wurden 3) klicke auf das "e" 4) Sehen Sie sich die detailMessage

an

    
Troublesum 25.02.2013 07:06
quelle

Tags und Links