Welcome on MasterOf13FPS! MasterOf13FPS

Register today or sign up if you are already a member and never miss any cool content again :)

[Debugging] So fixed ihr Crashes

MasterOf13FPS

Administrator
Staff member
Administrator
MasterOf13FPS
Joined
Jul 11, 2020
Messages
0
Reaction score
25
Points
0
Hier ein kleines von mir erstelltes Tutorial, wie ihr in Eclipse (Funktioniert genauso wie in Intellij, nur dass die Buttons wo anders sind) richtig debuggt, um Crashes selber fixen zu können.

In jeder halbwegs guten IDE ist ein sogenannter Debugger vorhanden.
Ein Debugger ermöglicht das Aufspüren von Fehlern in einem Programm.

Hier seht ihr (anhand von Eclipse) alle wichtigen Elemente eines Debuggers:

debug_screen_annotated.png



Ich gehe diese Begrifflichkeiten jetzt einmal im Schnelldurchlauf druch:

Click here to debug: Startet den Debugger
Step into: Springt zu einer bestimmten Stelle im Code
Step over: Macht einen Schritt vorwärts.
Step out of: Springt aus einem bestimmten Bereich raus.
List of breakpoints: Zeigt alle Breakpoints an.
Object browser: Zeigt alle Objekte und deren Werte an.
Outline view of current code location: Zeigt den Ort des ausgewählten Codes an.
Last breakpoint: Zeigt den letzten durchgangenen Breakpoint an.
Current line of code: Zeigt die Stelle des Codes, die das Programm momentan durchgeht.
Call stack of current Thread: Zeigt den Stack des momentanen Threads an.
Run to next breakpoint: Springt zum nächsten Breakpoint
End program: Beendet das Programm und somit auch den Debugger.

Ein Breakpoint ist ein Punkt den ihr an einer bestimmten Zeile des Programms setzen könnt, bei dem der Debugger anhält und euch alle oben gezeigten Daten anzeigt.
Diesen Punkt könnt ihr links neben dem Code platzieren:
iu


Wenn euer Client also bei Zeile 41. in der Klasse KillAura crasht, dann schaut ihr als erstes, was die Fehlermeldung ist und Googelt diese, um mehr Informationen herauszufinden.
(In erster Linie warum sie auftritt.)

Ich nehme als Beispiel jetzt die allseits bekannte NullPointerException.

Diese Exception tritt dann auf, wenn des Programm probiert auf ein Objekt zu zugreifen, das den Wert Null enthält.
Um das Problem zu lösen, muss die Referenz initialisiert werden.

Wir setzen also in Zeile 41. in der Klasse KillAura einen Breakpoint und debuggen das Programm.
Wenn diese Zeile nun aufgerufen wird, hält das Programm an ("Keine Rückmeldung")
und ihr seht im Object Browser all eure Objekte.
Wenn nun ein Objekt den Wert Null besitzt, habt ihr den Fehler gefunden.
Da ihr jetzt wisst, was der Fehler ist, könnt ihr diesen Fehler meist leicht beheben.
In diesem Falle wird das Objekt initialisiert.

Ich hoffe, dass ich vielen von euch jetzt eine Menge Arbeit erspart habe und ihr nun selber eure Fehler beheben könnt :)

Ah, und falls ihr Probleme mit dem decompilen des MCPs habt, können folgende Punkte hilfreich sein:

- die Java Version überprüfen (empfohlen wird Java 8)
- das Java JDK installieren (oder aktualisieren)
- die jeweilige Minecraft Version im Launcher einmal heruntergeladen haben
 
Last edited by a moderator:
TLDR: Kauft euch ein Java Buch
 
Hey Leute,

falls ihr Probleme mit dem decompilen des mcps habt, können folgende Punkte hilfreich sein:

- Java aktualisieren ( oder dementsprechend neu installieren)
- Java JDK installieren (oder aktualisieren)
- Die jeweilige Minecraft Version im Launcher einmal heruntergeladen haben (mcp910 -> MC1.8)
» mehr RAM zuweisen | Added by FantaCoke

Sonderfälle:

- Es können keine Twitch Libraries gefunden werden

Lösung:
https://masterof13fps.de/forums/threads/twitch-broadcasting-unavailable-fix.1985/

Ihr habt weitere Möglichkeiten? Ab damit in die Kommis :)
 
Last edited by a moderator:
thread approved by fantacoke.

danke für deine hilfe.
 
Mehr RAM zuweisen fehlt noch, hilft zumindest bei mir bei Systemen mit wenig RAM (2 GB)
 
bei mir hat alles nicht geholfen ich habe dazu auch einen thread gepostet(bevor der thread hier rauskam). habe alles was dort stand kopiert und in den thread gepackt vlt kann sich das jemand mal ansehen :)

danke im vorraus

MfG byaura

///EDIT JETZT FUNKTIONIERT ES///
 
Last edited by a moderator:
Bin n retard mit den Zitattags ¯\_(ツ)_/¯
 
der thread zeigt einfach mal wieder wie retarded fantacoke ist, warum sollte man mehr ram zuweisen, der standard 1GB recht vollkommen aus
 
der thread zeigt einfach mal wieder wie retarded fantacoke ist, warum sollte man mehr ram zuweisen, der standard 1GB recht vollkommen aus
Meistens reichts. Wie ich schon geschrieben hab, kann ich MCP mit -Xmx1G auf einem PC mit 2GB RAM nicht dekompilieren. Mit z. B. -Xmx1300M (je nachdem wie viel RAM grad nicht belegt ist) gehts aber...
 
- Java aktualisieren ( oder dementsprechend neu installieren)
- Java JDK installieren (oder aktualisieren)

Würde ich das Java Development Kit auf Java 9 (oder Java 10, oder Java 11) aktualisieren wird der Minecraft Client sich nicht darüber freuen.
 
Last edited by a moderator:
shape1
shape2
shape3
shape4
shape5
shape6
Back
Top