![]() |
Seltsames Verhalten der IDE
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Ich hab folgendes Problem. Ich entwickle derzeit ein aufwendiges Management System und benutze Delphi für die GUI. Urplötzlich stürzt mein Programm jetzt ab und zwar genau an der Stelle vom "begin" gibt es ein STACK Overflow - es wurde nix geändert noch was neues hinzugefügt. Nur tritt jetzt der Fehler aufeinmal auf. Hatte schon öfters Probleme mit der Delphi IDE, z.B. das ein bestimmtes Handle nicht mehr gültig war obwohl es da war und auch sichtbar und nach dem Neustart lief alles perfekt... Hat jemand schon so etwas ähnliches erlebt, was kann man dagegen machen?? Siehe Screenshot für mehr Details. Gruss, Andi |
Re: Seltsames Verhalten der IDE
Jaja .. mein D7 kackt auch manchmal* ab .. hilft dann nur Neustart
*z.z. sehr selten war aber schon mal öfter ... evtl. saison abhängig .. :gruebel: |
Re: Seltsames Verhalten der IDE
werd verrückt, hab das problem gefunden:
habe eine CASE .. OF schleife und nehm ich ein bestimmten teil raus, läuft alles... allerdings befindet sich in diesem CASE..OF eine weitere CASE..OF schleife, das sollte doch nicht zum problem werden oder???? |
Re: Seltsames Verhalten der IDE
Code von deinem Screenshot:
Delphi-Quellcode:
Ich weiss zwar nicht warum du hinter dem "do" ein ; hast und ob das überhaupt zulässig ist?! aber dennoch sieht das ganze nach einer schönen endlosschleife aus und der Stack Overflow ist damit durchaus berechtigt! :)
while _LOCKED do ;
_LOCKED := TRUE; |
Re: Seltsames Verhalten der IDE
das gibts nicht!!!! selbst bei einer IF-Schleife stürzt das ding an der besagten stelle ab!
nur wenn ich explizit keinen weiteren case..of selector benenne, dann funzt es und ich hab gerade mal eine case..of schleife mit 4 selektoren , damit sollte delphi doch umgehen können!!!!!!! |
Re: Seltsames Verhalten der IDE
@_Sebastian_:
Das _LOCKED war nur dafür gedacht, gegebenfalls einen Thread Overrun zu blockieren. Auch wenn das nicht da ist, kommt der Fehler. |
Re: Seltsames Verhalten der IDE
Zitat:
|
Re: Seltsames Verhalten der IDE
Kuck mal ins CPU-Fenster ;) Steht da enter oder push oder ein anderer Zugriff auf den Stack, wo die Exception auftritt?
Soweit ich weiß, werden manche lokalen Variablen im Stack gespeichert, also bei
Delphi-Quellcode:
Wird Beispiel auf dem Stack realisiert. Das Reservieren des Speicherplatzes dafür liegt im Code der proc, noch vor der ersten Anweisung. Für den Debugger wird es nun genauso realisiert: Vor der ersten Anweisung tritt ein Stacküberlauf, also beim begin. Wenn du also noch dazu eine rekursive proc oder function hast, dann ist ein Stacküberlauf tatsächlich denkbar. Hat es auch andere Symptome eines Stacküberlaufes?
procedure xyz;
var beispiel: Integer; begin ... end;
Delphi-Quellcode:
Wenn locked true ist, dann ist das eine Endlosschleife. Dürfte jedoch nicht zu einem Stacküberlauf kommen, dondern eben endloch gar nichts tun. Das ist übrigens zulässig. Ich glaube, sorgar
while _LOCKED do ;
Delphi-Quellcode:
ist zulässig, im Pascal von Wirth wars das noch nicht :D
;;;
PS: Was ist eine case-of-Schleife? und eine if-Schleife? :gruebel: |
Re: Seltsames Verhalten der IDE
ok ich hab den Fehler:
Eine Struktur wird bei mir zu groß !!!!!!! und zwar rechne ich folgendes:
Delphi-Quellcode:
Mich wunderts aber, das er schon vorher abbricht, BEVOR er ÜBERHAUPT zu dieser funktion kommt um das Array zu lesen....
const
NB_SIZEX = 1024; NB_SIZEY = 768; type NETICON_ARRAY = packed record R, G, B: Byte end; NETBITMAP = Array[0..(NB_SIZEX*NB_SIZEY*SIZEOF(NETICON_ARRAY))-1] of byte; Jetzt muss ich mir was neues überlegen wie ich schnell und einfach ein Bitmap im Netzwerk übertragen kann... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz