AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE 64bit-Anwendung crasht im IDE-Debugger
Thema durchsuchen
Ansicht
Themen-Optionen

64bit-Anwendung crasht im IDE-Debugger

Ein Thema von neubert · begonnen am 7. Mai 2023 · letzter Beitrag vom 3. Okt 2023
Antwort Antwort
neubert

Registriert seit: 17. Okt 2012
32 Beiträge
 
#1

64bit-Anwendung crasht im IDE-Debugger

  Alt 7. Mai 2023, 18:22
Hallo,

ich versuche, meine Anwendung von 32bit auf 64bit umzustellen (Delphi 11.3p1 auf Windows 11 22H2). Ich bin soweit, dass sich die Anwendung kompilieren lässt und bei "Ohne Debugger ausführen" auch startet und läuft (bis auf die Stellen, die ich noch ansehen und ändern muss). Wenn ich die Anwendung mit Debugger starte, kommt es beim Anwendungsstart zu einer ACCESS_VIOLATION bei

Code:
  for StyleName in TStyleManager.StyleNames do
un laut Aufruf-Stack bin ich im Wald.

Wenn ich in Vcl.Themes hineingehe, werden mir die blauen Punkte, welche die Codezeilen für das schrittweise Debugging anzeigen, nicht im Einklang mit den tatsächlichen Codezeilen angezeigt. Es ist also so, als ob der Quellcode von Vcl.Themes nicht zur geladenen .bpl bzw. .dcu passe. Wie kann das sein?

Ich habe schon die Optionen unter IDE | Sprache | Delphi | Bibliothek angesehen und da steht für die Plattform Windows 64 Bit bei Debug-DCU-Pfad "$(BDSLIB)\$(Platform)\debug;L:\Source\Delphi-Components\jcl\jcl\lib\d28\win64\debug".

Ich wäre für Hilfe dankbar, wie ich hier weiterkomme.

Herzliche Grüße
Boris
  Mit Zitat antworten Zitat
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: 64bit-Anwendung crasht im IDE-Debugger

  Alt 7. Mai 2023, 19:01
Ich hatte bei v11.2 auch Probleme mit der 64bit Ausführung. Bei mir hat es geholfen die neuen ASLR-Features zu deaktivieren:
Miniaturansicht angehängter Grafiken
project-options-win64-aslr.png  
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat
neubert

Registriert seit: 17. Okt 2012
32 Beiträge
 
#3

AW: 64bit-Anwendung crasht im IDE-Debugger

  Alt 7. Mai 2023, 19:15
Vielen Dank für die schnelle Antwort.

Ich habe die beiden Einstellungen abgeschaltet. Leider gibt es keine Veränderung. Die ACCESS_VIOLATION bleibt und die Quelltextpunkte sind immer noch daneben.
  Mit Zitat antworten Zitat
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: 64bit-Anwendung crasht im IDE-Debugger

  Alt 8. Mai 2023, 17:25
Hast du in den Projektoptionen unter Anwendung > Erscheinungsbild ein Style aktiviert? Wenn ja, dann mal testweise deaktivieren, bzw. das Default "Windows" Style einstellen.
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat
neubert

Registriert seit: 17. Okt 2012
32 Beiträge
 
#5

AW: 64bit-Anwendung crasht im IDE-Debugger

  Alt 12. Mai 2023, 14:00
Hallo und Danke für diesen Hinweis. Leider ist es das auch nicht. Ich kann die besagte Einstellung nicht machen, weil ich ein benutzerdefiniertes Manifest benutze. Grund dafür ist, dass ich meine eigenen .bpl-Dateien, die von Dritten und die von Embarcadero in separaten lib-Ordnern unterhalb der .exe-Datei aufbewahre, und diese Speicherorte im Manifest mitteile. Ich habe nun versucht, systematisch Probleme mit den Library-Versionen und dem Manifest und Style-Einstellungen zu ermitteln:

1. Ein 64bit-Testprogramm, welches auf Knopfdruck die Namen der Styles in ein Memo schreibt, läuft einwandfrei durch und lässt sich auch im Einzelschrittmodus debuggen (eigener Code und VCL-Sourcen).
2. Ich habe daraufhin die Embarcadero-Libs aus dem lib-Ordner meines nichtfunktionierenden Programms gleichartig in einen lib-Ordner unterhalb des Testprogramms gelegt und dieselbe Manifest-Datei verwendet. Das funktioniert ebenfalls.
3. Ich habe daraufhin die .bpl-Dateien von meinem nicht funktionierenden Programm in den BPL-Standardordner erstellen lassen (wo die .bpl-Dateien der Drittanbieter auch liegen) und das Manifest entfernt (Einstellung: "ohne", also auch ohne Styles). Der Crash und die nicht zum Code passenden Quelltexthaltepunkte in den VCL-Sourcen blieben mir aber.

Ich vermute nun, dass (nur) in der 64bit-Version des Programms oder einer der verwendeten Bibliotheken der Speicher zerschossen wird, was aber erst später beim Auflisten der Style-Namen zum Crash führt. Ich werde nun als nächstes mein Programm zeilenweise von Anfang an durchdebuggen, um dem Problem auf die Schliche zu kommen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.064 Beiträge
 
Delphi 12 Athens
 
#6

AW: 64bit-Anwendung crasht im IDE-Debugger

  Alt 12. Mai 2023, 17:05
Alles was Manifest ist ... das Manifest und die Versionsinfo liegen in der ProjektRes, bzw. in der EXE/DLL/BPL/..., wo man sie soich z.B. mit einem RessourcenEditor (oder notfalls auch Notepad) ansehen kann ... dort darfst dir gern alles rauskopieren und in dein eigenes Manifest einfügen.
(andersrum wäre es natürlich besser, wenn man seine eigenen Einträge angeben könnte und Delphi fügt sie in sein Manifest ein, bzw. wenn Delphi das eigene Manifest mit seinem mergen könnte)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
neubert

Registriert seit: 17. Okt 2012
32 Beiträge
 
#7

AW: 64bit-Anwendung crasht im IDE-Debugger

  Alt 3. Okt 2023, 08:29
Hallo,

nach 5 Monaten möchte ich gerne ein Update zu meinem Problem geben, dass meine 64bit-Anwendung im IDE-Debugger (Delphi 11.3p1) abstürzt.

Nachdem ich Eure Vorschläge und noch einiges andere ohne Erfolg durchprobiert hatte, habe ich erst einmal für die 32bit-Plattform weiterentwickelt. Diese Woche habe ich dann einen neuen Anlauf gestartet und, siehe da, das Programm läuft auch in der 64bit-Version in der IDE durch.

Ich kann nicht sagen, wie es dazu kam. Ich habe keinen Patch für Delphi eingespielt und auch keine strukturellen Änderungen am Code vorgenommen.

Es kommt noch zu Access Violations in Vcl.Styles beim Aufzählen der vorhandenen Styles, aber das ist erst einmal nachgeordnet, und vielleicht Thema für einen neuen Thread (oder einen Bugreport an Embarcardero).

Viele Grüße
Boris
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:36 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