Programm-Absturz seit Delphi 11.2
In Delphi 11.1 konnte ich mein Programm als 32bit und 64bit Programm compilieren und ausführen.
Mit Delphi 11.2 ist es möglich beide zu kompilieren, jedoch läuft nur die 32bit Variante normal. Das 64bit-Programm zeigt nach dem Start nicht einmal das Hauptformular an, sondern stürzt ab mit dieser Fehlermeldung : Error : EOutofResources in ...... Stream konnte nicht gespeichert werden. ???? |
AW: Programm-Absturz seit Delphi 11.2
Sorry wenns böse klingt ...
Ich denke an "Immer wenn Gras über eine Sache gewachsen ist, kommt ein Kamel und frisst es wieder ab.". Das Kamel ist hier Delphi 11.2. Irgendwas stimmt nicht an Eurem Code. Zufälligerweise ging es immer gut, nun halt nicht mehr weil im Speicher da jetzt halt was anderes liegt. Vorschläge Alle Hints und Warnings einschalten und beheben. FixInsight benutzen und: Alle Hints und Warnings beheben. |
AW: Programm-Absturz seit Delphi 11.2
Um es anders zu formulieren: Bei mir kommt der Fehler nicht. Das kann natürlich daran liegen, dass mein Code was anderes macht als dein Code.
|
AW: Programm-Absturz seit Delphi 11.2
https://quality.embarcadero.com/brow...ofResources%22
liefert auch nichts Passendes Wie wäre es mit einer detailierteren Fehlerbeschreibung/Fehlersuche? Strg+C im Fehlerdialog oder im LogFenster des Debuggers und dann Strg+V als Text hier in ein [QUOTE]...[/QUOTE], für eine "vollständige" richtiggeschriebene Fehlermeldung. Und dann im Debugger siehe Call-Stack, um rauszubekommen, von wo dieser Fehler eigentlich her kommt. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
|
AW: Programm-Absturz seit Delphi 11.2
Ich schaffe es nur immer wieder mitten beim Schreiben von Quellcode die IDE komplett einschlafen zu lassen,
so das der Taskmanager 0% und "inaktiv" dazu sagt. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Und mein Programm erzeugt keinerlei Hints und Warnungen. Hab aber die Ursache gefunden : Es ist eine externe Komponente. Bin mit dem Anbieter im Gespräch. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
|
AW: Programm-Absturz seit Delphi 11.2
Eigentlich lasse ich mich durch die Syntax quälen, bzw. quäle das ErrorInsight/CodeInsigth mit brutalen eigentlich normalen Dingen.
z.B. https://quality.embarcadero.com/browse/RSP-39558 und mehrfach verschachtelte managed Records :oops: |
AW: Programm-Absturz seit Delphi 11.2
[QUOTE=walterschmitt;1512944]
Zitat:
|
AW: Programm-Absturz seit Delphi 11.2
Bei uns gibt es das gleiche Problem, unter 11.1 läuft die 32-bit und 64-bit-Anwendung einwandfrei, unter 11.2 crashed nur die 64-bit-App beim Laden der DFM des Hauptformulars, allerdings mit einer anderen Fehlermeldung (ClientHandle nicht gültig oder so) Wir haben alles auf 11.1 zurückgedreht, wir haben aktuell leider keine Zeit, uns damit aufzuhalten.
Wir nutzen DevXpress-Ribbon und -Backstagepanel im Hauptformular und hatten diese Komponenten im Verdacht. Ich habe nun eine leere MDI-Applikation erstellt mit eben diesem Ribbon und dem Backstagepanel und hatte gehofft, dass sich der Fehler nachvollziehen lässt, leider nein:( So warte nun auf das nächste Update von Emba und DevExpress in der Hoffnung, dass es dann läuft:roll: |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
|
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Und vielleicht hat ja jemand hier im Forum ein ähnliches Problem oder könnte helfen, so dass auch hier der Stacktrace helfen würde. |
AW: Programm-Absturz seit Delphi 11.2
Delphi hat sehr viel gemeinsam mit dem HSV in der 2. Liga. Es gibt immer eine Hand voll Leute, die den großen Mist der gebaut wurde noch verteidigen. Die Qualität von Delphi 11 Alexandria ist und bleibt eine Katastrophe.
|
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Was wirklich gar nicht geht, ist die Qualität der Syntaxergänzung. Die verwendet man nun einmal sehr oft und wenn die nicht geht, wie es seit der Umstellung auf LSP leider oft ist, ist das nicht haltbar. Wenn ich mir allerdings die Anzahl der Bugmeldungen zu Delphi 11 anschaue, dann kann die Qualität für viele gar nicht so schlimm sein. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Ich habe da noch ein Beispiel. Wenn ich ein altes Projekt pflegen muss und es in Delphi 11 lade, friert mir die IDE ein. Ich habe lange gesucht, warum das so ist. Von den vielen verwendeten Komponenten war eine nicht installiert. Vor Delphi 11 hat mir die IDE noch gemeldet, dass ein Package nicht geladen werden konnte. Jetzt friert die IDE einfach ein. Da wird doch seit Monaten überhaupt nicht drauf eingegangen. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Ich arbeite gezwungenermaßen mit unterschiedlichen Delphi-Versionen für verschiedene Projekte und muss da immer wieder feststellen, wie mir so manches Feature der neueren Versionen plötzlich fehlt. Natürlich nerven mich auch die bestehenden Bugs, in vielen Fällen wohl auch schon eine Weile länger als so manchen hier. Nur, lamentieren und/oder abwarten tragen rein gar nichts zur Lösung des Problems bei. Dabei bleibt in diesem Fall immer noch die Frage, ob das Problem wirklich in Delphi selbst liegt, oder ob vielleicht eine sinnvolle und wünschenswerte Änderung (z.B. ASLR) in der letzten Version lediglich die Schwachstellen in anderem Code sichtbar macht. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
|
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Ich will hier ja gar nicht die vorhandenen Fehler klein reden, aber wenigstens den ersten Schritt tun und den Fehler melden und, falls nötig, mit dem Hersteller oder hier im Forum daran arbeiten, ihn zu reproduzieren sollte man erwarten können. Eine Rückmeldung "passiert hier nicht" ist nur eine anderen Formulierung für "es fehlen noch weitere Informationen um den Fehler zu reproduzieren". Das kann manchmal schwierig werden, ist aber für die Behebung notwendig. Wie schon gesagt, beim HSV kannst du vermutlich nichts tun, bei Delphi aber schon. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
|
AW: Programm-Absturz seit Delphi 11.2
Zitat:
* das nichtgehende CodeInsight und CodeCompletion * gleichnamige Inlinevariablen beim Debuggen * eine IDE die koplett hängen bleibt ... ist voll fießt ... früher krachte es einfach weg und man wusste das war's und nun bekommt man hoffnungslos die Hoffnung es könnte sich wieder fangen * aber sonst melde ich grade eher Fehler/Features, die mich schon länger nerven Jetzt, wo ALLES gut läuft, darf man doch endlich mal fragen, ob sich diesbezüglich endlich mal was ändern lässt? :duck: https://quality.embarcadero.com/browse/RSP-20885 https://quality.embarcadero.com/browse/RSP-39676 https://quality.embarcadero.com/browse/RSP-39558 |
AW: Programm-Absturz seit Delphi 11.2
Liste der Anhänge anzeigen (Anzahl: 1)
Die Problem mit 64 Bit kommen meiner Meinung nach von
der jetzt default eingeschalteten Option für ASL im Linker Das kann man relativ einfach überprüfen: ASLR abschalten in den Linker-Einstellungen. Zur Sicherheit beide Optionen. Dann hilft nur Debugger und schauen wo eventuell Typen nicht passen |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Läuft jetzt. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Das ist in etwa so sinnvoll wie das generelle Abschalten des Range-Checking, weil das sporadisch zu unerklärlichen Fehlern führt. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Ich habe denen ein Beispielcode gesendet, der läuft dort aber ohne Probleme. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Mit dem Wissen eines solchen Fehlers würde ich nicht mehr ruhig schlafen. Nur weil es bei Dir nicht mehr auftritt ist das Problem nicht gelöst! |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Heißt: Nur weil der Fehler in einer externen Komponene auftritt, heißt das nicht, dass er auch dort verursacht wird. Es kann also durchaus sein, dass der Fehler in dem eigenen Code liegt und sich nur in einer solchen Komponente äußert. Finden lassen sich solche Fehler auf zwei Wegen: Entweder man kann vorhersagen, welche Speicherstelle falsch angesprochen wird, dann kann man miit Datenhaltepunkten arbeiten. Oder es bleibt (neben sehr aufwendigen Analysen, die man eher nicht machen möchte) nur folgender Weg: Man entkernt die Anwendung bis man den Fehler nicht mehr reproduzieren kann. Dann macht man die Änderung rückgängig, bis man es wieder reproduzieren kann, und entfernt dann andere Teile. Am Ende hat man entweder ein Demoprogramm für einen externen Hersteller oder man hat den Fehler gefunden. |
AW: Programm-Absturz seit Delphi 11.2
Habe doch ein Demoprogramm an den Hersteller geschickt.
Das Programm war ein Fenster mit nichts anderem als nur dieser Komponente. Bei mir Crash, beim Hersteller läuft es. Glaube langsam es liegt an meiner Windows-Installation. Habe auch den Sourcecode und kenne die verantwortliche Codezeile. Bei mir zeigt die Speicheradresse der Variablen auf $FFFFFFFF930FFA58 und damit ins Nirvana. Sollte eigentlich $00000000930FFA58 sein. |
AW: Programm-Absturz seit Delphi 11.2
Kann es sein, dass da irgendwelche Casts im Spiel sind?
Wird die Variable schon falsch geschrieben? An der Stelle helfen Datenhaltepunkte, wenn der Wert zuerst richtig ist und später falsch. Denn dann kannst du auf die Variable nach dem korrekten Setzen einen Datenhaltepunkt setzen und dann schauen, wo der geändert wird. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
Der Crash ist dann abhängig vom System, Speicheraufbau etc. |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
UIntPtr IntPtr NativeUInt NativeInt und allgemein überall die richtigen Typen, wie z.B. LPARAM, WPARAM und LRESULT für SendMessage/PostMessage, anstatt Integer/Cardinal usw. oder andersrum z.B. HRESULT statt Integer/Cardinal/Sonstwar für das aus GetLastError und Co. Hier sieht es eher so aus, als wenn signed 32 Bit-Integer-Zeiger (nicht unsigned Cardinal) an einen 64 Bit-Integer übergeben/gecastet wird. $9xxxxxxx hat das höchste Bit gesetzt, drum wird/bleibt das negaitv, also es werden auch alle 32 höheren Bits negativ. In Bezug auf einen Integer->Int64 ist es vollkommen korrekt, dass es ab $800000000 zu $FFFFFFFF800000000 wird. :angle: |
AW: Programm-Absturz seit Delphi 11.2
Zitat:
|
AW: Programm-Absturz seit Delphi 11.2
Nachdem ich die Stelle im Quellcode der Komponente genau identifizieren konnte, wo bei mir der Fehler auftrat und welche Werte die Variablen haben, hat der Komponentenhersteller die Sache gefixt.
Es war ein Pointerproblem. Jetzt läuft es. |
AW: Programm-Absturz seit Delphi 11.2
:dp:
*Mike drop* Sherlock |
AW: Programm-Absturz seit Delphi 11.2
Von mir auch ein kurzes Update: das Problem ist nun auch bei uns gefixed.
Der Fehler lag in einer sehr alten Komponente, wo ein Pointer über Longint gecastet wurde (alle Casts von Integer() und Cardinal() haben wir ja gefunden, aber leider nicht nach Longint() gesucht). Mit abgeschaltetem ASLR ist das Programm wieder gestart, wenn auch mit anderen Fehlern. Nach dem temporären Entfernen der Komponente hat alles wieder funktioniert. Vielen Dank für eure Hilfe.:) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 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