AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Win64 Zugriffsverletzungen bei High-Entropy für 64-Bit-ASLR
Thema durchsuchen
Ansicht
Themen-Optionen

Win64 Zugriffsverletzungen bei High-Entropy für 64-Bit-ASLR

Ein Thema von omp · begonnen am 3. Mär 2024 · letzter Beitrag vom 3. Mär 2024
Antwort Antwort
omp

Registriert seit: 7. Apr 2012
60 Beiträge
 
#1

Win64 Zugriffsverletzungen bei High-Entropy für 64-Bit-ASLR

  Alt 3. Mär 2024, 09:29
Hallo.
Ich stelle ein größeres Projekt von Delphi 10.4 auf 12 um.
In Windows 64 stoße ich auf ein Problem bei den Drag&Drop-Funktionen.

Code:
procedure TtaoController.DefaultHandler(var Message);
begin
  inherited DefaultHandler(Message);
  if Assigned(FOldWindowProc) then
    FOldWindowProc(TMessage(Message)); // Zugriffsverletzung
end;
Ich dachte erst an "weak alias" Integer/NativeInt ab Delphi 12.
Es steht aber eher im Zusammenhang mit "Support high-entropy 64-bit ASLR" ab Delphi 11.2
Wird ASLR deaktiviert, tritt der Fehler nicht auf. Ich gehe davon aus, dass ein Integer
nicht korrekt bzw. mit einem falschen Alias deklariert ist. Integer statt Pointer, DWORD o.ä.

Mir ist klar, dass obiger Auszug "etwas dürftig" für eine Problembeschreibung ist.
Ich frage aber trotzdem, ob sich jemand mit dem Thema genauer beschäftigt hat und
mich auf den richtigen Weg führen kann.

Besten Dank, Harald
Harald
  Mit Zitat antworten Zitat
Kas Ob.

Registriert seit: 3. Sep 2023
213 Beiträge
 
#2

AW: Win64 Zugriffsverletzungen bei High-Entropy für 64-Bit-ASLR

  Alt 3. Mär 2024, 10:59
Hi,

The short "// Zugriffsverletzung" or "// access violation" not enough and not helpful, the full message will be more useful.

Also the stack at this point, because the exact point of the raised exception is not visible here, it could be FOldWindowProc assigned to some already not allocated memory, hence the AV, or within the FOldWindowProc and there wasn't debug information and the your debugger showed this point.

And then there is this question :
Are you sure that you need to call "inherited DefaultHandler(Message)" and then reprocess the message again with "FOldWindowProc(TMessage(Message))" ?
  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 04:26 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