AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Access Violation in TObject.InheritsFrom von "is"-Operator
Thema durchsuchen
Ansicht
Themen-Optionen

Access Violation in TObject.InheritsFrom von "is"-Operator

Ein Thema von AuronTLG · begonnen am 5. Jul 2024 · letzter Beitrag vom 5. Jul 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Access Violation in TObject.InheritsFrom von "is"-Operator

  Alt 5. Jul 2024, 10:20
Während dieses Aufrufs wird der Speicher dort wohl nicht kaputt geh.

Es ist wohl eher so, dass es
* einfach ein ungültiger Zeiger ist -> Variable nicht initialisiert oder Objekt schon freigegeben, auf welches dort gezeigt wird
* oder es gab irgendwo z.B. einen Bufferoverflow und hat dir da was zerschossen.


Zu einem Zeitpunkt, wo es noch geht, müsstest du also anfangen und könntest dir dann die Speicher ansehen,
also die Stelle der Variable, bzw. den Inhalt des Objektes
* ganz am Anfang (Offset 0) steckt der Zeiger zur Klasse
* und dann in den Typinfos selbst, geht es dann weiter (vmtParent), da dort ja auch die Vorfahren geprüft werden

Das dann mit dem Zeitpunkt vergleichen, wenn es knallt,
und jetzt oder schon vorher prophylaktisch via Datenhaltepunkten, Guards oder ab und an manuell nachsehn, wann und durch wen es sich ändert.


Joar, das große FastMM im Debugmodus, Deleaker, Erekalog, madExcept und andere Tools können eventuell helfen.




"Testprojekt" oder selbst testen, also versuchen das im Kleinen nachzustellen,
bzw. das Projekt so lange ausmisten, bis der Fehler weg ist ... das zuletzt entfernte Codestück ist dann schonmal ein Anfang zum Suchen.



PS: Auch wenn es keine "wirkliche" Lösung ist, aber geh mal in Projektoptionen > Erzeugen > Delphi-Compiler > Linken > und schalte die beiden Optionen bezüglich ASLR ab .... ist der Fehler dann weg?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Jul 2024 um 10:27 Uhr)
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
319 Beiträge
 
Delphi 12 Athens
 
#2

AW: Access Violation in TObject.InheritsFrom von "is"-Operator

  Alt 5. Jul 2024, 10:42
Zitat:
PS: Auch wenn es keine "wirkliche" Lösung ist, aber geh mal in Projektoptionen > Erzeugen > Delphi-Compiler > Linken > und schalte die beiden Optionen bezüglich ASLR ab .... ist der Fehler dann weg?
Nur schonmal schnelle Rückmeldung: Ohne ASLR-Unterstützung funktioniert es.
Ich schaue mir das Ganze genauer an, aber das ist schonmal ziemlich hilfreich zur Eingrenzung, danke.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Access Violation in TObject.InheritsFrom von "is"-Operator

  Alt 5. Jul 2024, 11:19
Eingrenzung nicht direkt.
ASLR sorgt ja nur dafür, dass DLLs und Speicheranforderungen mehr zufälliger verteilt werden.
z.B. auch DLLs in verschiedenen Prozessen nicht an der selben stelle liegen (wurde früher gern gemacht, damit Windows "identische" Teile des Speicher gemeinsam verwenden kann, bzw. z.B. Reallocationen nicht jedes mal neu berechnen muß, wenn im nächsten Prozess die selbe DLL geladen wird)

Wenn aber nun jemand mit statischen/hartcodierten Zeigern arbeitet, dann knallt es ... bzw. damit auch Hacker/Viren/Trojaner/usw. es schwerer haben.
Ein Therapeut entspricht 1024 Gigapeut.
  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 02:58 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 by Thomas Breitkreuz