PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : automatische Fehlerquitierung ...


Flyinglosi
2011-08-11, 21:32:15
Guten Tag liebe Leute,

ich arbeite zur Zeit an meiner Diplom-Diplomarbeit, welche unter anderem einige Optimierungsaufgaben enthält. Diese laufen teils über mehrere Tage. Leider schleicht sich immer wieder folgendender Fehler ein:

Alle paar Stunden/Tage erscheint folgende Fehlermeldung:

"Java Platform SE binary funktioniert nicht mehr"

Sobald man diese Meldung quitiert gehts munter weiter. Jedoch wird die Optimierung solange unterbrochen bis diese Meldung quitiert wurde.

Nun wollte ich fragen ob mir einer von euch Pros ein Skript schreiben könnte, welches diese Fehlermeldung automatisch quitiert. Zum selber einlesen fehlt mir aktuell die Zeit und auch die Möglichkeit zu testen (was bei einem Neuling wie mir auf jeden Fall notwendig wäre).

Die Optimierung läuft unter Windows 7 Professional X64 6.1 (build: 7601) Service Pack 1.

Danke im Vorhinein für eure Hilfe

mfg Stephan

Trap
2011-08-11, 21:39:54
Leg einfach ein Gewicht auf die Leertaste während du nicht am Computer bist.

PatkIllA
2011-08-11, 21:49:37
Wie wärs mal nach der Ursache zu suchen?
Die Meldung klingt nach einem sehr groben Fehler und es schon ziemlich unwahrscheinlich, dass da noch ein korrektes Ergebnis bei rumkommt.

Sehr beliebt ist auch dieser Codeblock, der zuverlässig alle Fehler behebt.
try
{
....
}
catch (Exception)
{
}

Flyinglosi
2011-08-11, 21:54:22
Wie wärs mal nach der Ursache zu suchen?
Die Meldung klingt nach einem sehr groben Fehler und es schon ziemlich unwahrscheinlich, dass da noch ein korrektes Ergebnis bei rumkommt.

Sehr beliebt ist auch dieser Codeblock, der zuverlässig alle Fehler behebt.
try
{
....
}
catch (Exception)
{
}

Der Fehler selbst wird von ProE verursacht. Während der Optimierung werden stets neue Geometrien erstellt und ca. alle 20 Versuche schwirrt der ProE Server ab. Wird dies erkannt startet der Optimierer ProE einfach neu. Nur alle paar 100 Abstürze von ProE erscheint eben zusätzlich diese Fehlermeldung (obwohl es sich laut dem Protokoll immer um den selben Fehler handelt).

Das Ergebniss der Berechnungen ist somit überhaupt nicht betroffen.

mfg Stephan

Gnafoo
2011-08-12, 00:58:04
Ich vermute mal mit AutoIt könntest du da recht schnell was zusammenbasteln. Schau mal in die Dokumentation:

http://www.autoitscript.com/site/
http://www.autoitscript.com/autoit3/docs/
http://www.autoitscript.com/autoit3/docs/tutorials/notepad/notepad.htm
http://www.autoitscript.com/autoit3/docs/appendix/SendKeys.htm

Ich denke mal eine Schleife, WinWaitActive und Send dürften fast schon ausreichen für die Aufgabe. Irgendwas nach dem Schema:


While true
WinWaitActive("Titel Fehlermeldung")
Send("{ENTER}")
Wend


Musst du eben für deine Zwecke anpassen.

Bud Spencer
2011-08-14, 17:53:04
Baue Logs in dein Programm, damit du den Fehler ausfindig machst. Das wäre das Sauberste.
Logs einbauen geht schnell - mache etwas ganz einfaches - Java hat sicher auch schon fertige Klassen dafür.
Dann kannst dein Programm einfach munter laufen lassen bis der Fehler kommt. So zeitintensiv isses nicht.
Zumindest hättest du mehr Übersicht darüber, was schiefläuft.