Fehlermeldung auf andrem Betriebssystem - Was nun???
-
Hallo,
diese Fehlermeldung hatte ich schon oeffters beim Projekt auf der Arbeit.
Such nach nicht freigegebenen Speicherbereichen und/oder nach Speicherbereichen,
welche du versuchst 2 mal freizugeben.mfg
v R
-
Ich denke nicht, dass das was mit dem BS zu tun hat. Eher wahrscheinlich ist, dass der User deines Programmes im Programm auf einen Fall gestoßen ist, den du noch nicht ausprobiert hattest.
-
Aber wenn der Fehler doch am Programmanfang ist müsste ich doch längst auf ihn gestoßen sein, und das ist nicht der Fall. Also kann es nur an seinem System liegen.
-
Gen.d.Pz.Tr.Seb schrieb:
Also kann es nur an seinem System liegen.
Klar, du bist ja auch unfehlbar... (o;
Die Fehlermeldung sagt eindeutig, dass das Betriebssystem deine Anwendung abgeschossen hat um sich selbst zu schützen, weil die Anwendung irgendwo rumwuselt wo sie nicht sollte...
Ab zum code Review!
-junix
-
Ja aber wo ist da der Unterschied zwischen 2000 und xp?? Was erlaubt mir xp was 2000 nicht macht??
-
Es können z.B. solche feinen Unterschiede sein, daß unter 2000 das Programm nicht als Admin läuft, Du aber das Programm unter Admin-Rechten entwickelt und nur auf dieser Ebene getestet hast... das können 1000 Dinge sein.
Ohne Debugger fast unmöglich zu finden.
-
Ja aber wie kann ich dass nun machen wenn ich kein 2000er System zu verfügung habe?? Ich ja so nicht erfassen was mein Programm dort anstellt!
-
Entweder
- ein W2k installieren
- in das Programm ein Logging einbauen, das jeden Funktionsaufruf (natürlich abschaltbar) in einer Datei mitloggt. Dann siehst Du, bis wohin das Programm kommt, bzw. in welcher Funktion das passiert
-
OK, danke. Das hilft mir jetzt weiter!
Werde mal versuchen den Punkt 2 zu realisieren. (Aber was tun wenn nicht mal die erste Funktion aufgerufen wird??)

-
Dann kennst du den genauen Zeitpunkt wann dein Programm aussteigt und kannst auf Fehlersuche gehen. Debuggen musst du schon selber.
-
Du kannst dann das Logging auch noch gezielt unterteilen, bzw. Parameter mitschreiben, sobald Du die erste abstürzende Funktion lokalisiert hast.
-
Bei solchen Debug-Aktionen heisst es hald etwas kreativ zu sein. Mach dir ne Liste mit den Daten die dich interessieren, bzw. welche das Laufverhalten beeinflussen. Zunächst solltest du aber die exakte Zeile des Absturzes lokalisieren...
Ist hald mit etwas Arbeit verbunden...-junix
-
Bei linux/unix kann man beim Absturz eine core-Datei schreiben lassen. Gibts sowas nicht für Windows?
-
DrGreenthumb schrieb:
Bei linux/unix kann man beim Absturz eine core-Datei schreiben lassen. Gibts sowas nicht für Windows?
Dr. Watson is watching you...

-
Habt Ihr schon mal versucht, mit dem Dr. Watson-Log einen Bug zu finden?
Das geht... aber man muß die vom Compiler erzeugten Zwischendateien für die Exe noch haben, damit man das nachher in Deckung bringen kann. Es ist sehr aufwendig, daher hatten wir in der Vergangenheit entschieden immer wahlweise aktivierbare Klartext-Logfiles zu erzeugen.
-
Marc++us schrieb:
Habt Ihr schon mal versucht, mit dem Dr. Watson-Log einen Bug zu finden?
Geht das denn mit einem core dump unter Linux besser?!?!?!?!

-
ja, du lädst den coredump in den gdb und siehst sofort in welcher Zeile/Funktion usw. es abgeschmiert ist.
Weiß aber nicht ob das immer so glatt läuft, habs noch nie in der Realität gebraucht bzw. verwendet.
-
Ja, genauso funktioniert das unter Windows mit dem Visual Studio auch.

Aber wie gesagt... für die Release-Version ist es eine Katastrophe, man braucht die ganzen Symboltabellen, und und und.