AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Gemeiner Programmabsturz, wie weiter machen?
Thema durchsuchen
Ansicht
Themen-Optionen

Gemeiner Programmabsturz, wie weiter machen?

Ein Thema von wicht · begonnen am 2. Mai 2011 · letzter Beitrag vom 2. Mai 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#11

AW: Gemeiner Programmabsturz, wie weiter machen?

  Alt 2. Mai 2011, 22:06
So.. ich schrieb hier einen ellenlangen Roman, wollte ein letztes mal in die Vorschau gucken, und dann war der rote Kasten da. Auf eine Antwort von brechi hofft man bei solchen Themen ja immer insgeheim ein bisschen. Die Sache von wegen "und gib die Adresse mit $ ein" hat mir weitergeholfen, dass das davor muss wusste ich nicht: Die Adresse liegt in TObject.Free() - und ich schätze jetzt mal, dass das Problem damit zusammenhängt, dass ich ein Objekt zweimal freigebe. Da könnte ich im zweifelsfall sogar mit Logging den Fehler finden. Oder gibt es eine Möglichkeit, ohne installiertes Delphi den Call-Stack zu bekommen? Ganz blöd gefragt, könnte ich das mit Visual Studio/Ollydbg/WinDbg sichtbar bekommen?
Nach etwas Testen gerade wurmt es mich aber, dass ein doppeltes .Free() in einem Testprogramm in .FreeInstance() abschmiert, nicht in .Free() wie im aktuellen Fall. Könnte es wirklich ein doppeltes Freigeben sein, oder ist das Problem u.U. ein anderes? Ausserdem springt madExcept in dem Fall an.. komisch.

Deinen Edit gesehen, aber die Frage, ob es wirklich ein doppeltes Freigeben sein kann, bleibt für mich trotzdem noch..
Die Idee mit der Testversion ist übrigens sehr schön, das wird morgen direkt gemacht - und erledigt die Frage nach dem Callstack dann wohl auch teilweise, obwohl es mich interessieren würde, ob der Callstack auch ohne Delphi zu bekommen ist.


Nochmal Danke an alle und einen schönen Abend noch!
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"

Geändert von wicht ( 2. Mai 2011 um 22:09 Uhr)
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#12

AW: Gemeiner Programmabsturz, wie weiter machen?

  Alt 2. Mai 2011, 22:48
Den bekommst du auch mit OllyDbg. Wenn von Windows die Debugmeldung kommt mit Olly attachen, dann Debug drücken und F9 -> sollte an der Exception stehen bleiben (eben kurz getestet). ALT+K liefert den callstack oder halt unten rechts im Debugfenster.

Vill solltest du auch mal FreeAndNil verwenden (auch wenn unschön, da Free auf Nil testet) bzw. mit Assigned prüfen und ggf. Fehlermeldung ausgeben -> Assertion (nur wenn aus Delphi gestartet).
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#13

AW: Gemeiner Programmabsturz, wie weiter machen?

  Alt 2. Mai 2011, 23:03
Zitat:
Den bekommst du auch mit OllyDbg. Wenn von Windows die Debugmeldung kommt mit Olly attachen, dann Debug drücken und F9 -> sollte an der Exception stehen bleiben (eben kurz getestet). ALT+K liefert den callstack oder halt unten rechts im Debugfenster.
Wunderbar. Dann sehe ich morgen mal weiter.

Zitat:
Vill solltest du auch mal FreeAndNil verwenden (auch wenn unschön, da Free auf Nil testet) bzw. mit Assigned prüfen und ggf. Fehlermeldung ausgeben -> Assertion (nur wenn aus Delphi gestartet).
Damit hast du recht, auch wenn ich im allgemeinen nicht auf FreeAndNil() stehe, weil wenn man weiß, was man tut, und das Programm so läuft, wie es sollte, sollte man das nicht brauchen. Naja, scheinbar ist es aber gar nicht so verkehrt...

Danke nocheinmal für deine Hinweise und die Mühen, ich fühle mich jetzt gerüstet für den Kampf. Wenn ich wieder mal nicht weiterkomme oder das Problem erledigt sein sollte, melde ich mich wieder.


Gute Nacht,

Alex
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz