2016-08-01 24 views
2

Es ist ein wirklich seltsames Problem: Manchmal, wenn ich versuche, meine App zu starten, erstellt der Prozess sich selbst, aber nichts tun. Und manchmal beginnt es.Java-Anwendung hängt manchmal beim Start

Ich habe versucht, im Internet zu suchen, aber ich habe jetzt nichts hilfreiches gefunden. Ich habe mich gefragt, ob einer von euch das gleiche Problem hatte und wie du es gelöst hast.

PS: Ich habe versucht, die Konsole zu sehen und printStackTrace anzeigen, aber es gab nichts. Nur die Stammkunden loggen, bis sie hängen bleiben (bevor sie irgendeine GUI zeigen).

Edit:

Here is the cmd with java -jar when it happens

And Task manager stuck at 30 000k memory

Mein Programm ist nur anrufen: Lesen ("MaxAttempts")

public String read(String NomFonction) { 
    String ConfigFile = cfgfile.getPath(); 
    try{ 
     InputStream flux=new FileInputStream(ConfigFile); 
     InputStreamReader lecture=new InputStreamReader(flux); 
     BufferedReader buff=new BufferedReader(lecture); 
     String ligne; 
     String Fonction = null; 
     while ((ligne=buff.readLine())!=null){ 
      if(ligne.contains(NomFonction + "=")) { 
       Fonction = ligne.split("=")[1]; 
      } 
     } 
     buff.close(); 
     if(!Fonction.equals(null)) { 
      return Fonction; 
     } 
     } catch(Exception e1) { 
      e1.printStackTrace(); 
    } 
    return "Error"; 
} 
+2

Konnte nicht reproduzieren. – shmosel

+0

Das ist sehr schlecht und das tut uns allen leid. Aber wir können versuchen und helfen, wenn Sie Ihren Code und jeden Fehler, den Sie erhalten, veröffentlichen können. –

+0

yeah, sorry, ich habe den Post bearbeitet und einige Infos hinzugefügt. Aber es gibt nicht viele Dinge:/ – RapidEv

Antwort

0

Versuchen Sie, in den Debug-Modus zu reproduzieren.

Starten Sie den Prozess im Debug-Modus, bis er reproduziert wird. Wenn das Programm hängt, sehen Sie sich die Liste Ihrer Threads an. Wenn das Lesen der Konfiguration im Hauptthread geschieht (und es so aussieht. Wenn nicht, nimm den benötigten Thread), klicke je nach deiner IDE mit der rechten Maustaste auf den Laufstreifen und wähle "suspend" (dann wieder abhängig von deiner IDE).

Es wird angezeigt, wo Ihr Thread hing.

+0

Ich habe eigentlich nie den Debug-Modus in Eclipse verwendet:/ – RapidEv

+1

Sie sollten dann.Es wird viel sparen von deiner kostbaren Zeit in der Zukunft –

+0

Ich werde es versuchen x) Danke – RapidEv