AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Ungültige Zeigeroperation/AV obwohl nichts geändert wurde
Thema durchsuchen
Ansicht
Themen-Optionen

Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

Ein Thema von Jim Carrey · begonnen am 8. Nov 2016 · letzter Beitrag vom 9. Nov 2016
Thema geschlossen
Seite 2 von 4     12 34      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 18:17
Vermutlich machst du irgendwo Murks mit Zeigern. Dass es funktioniert hat und jetzt wieder funktioniert, ist wahrscheinlich reine Glücksahe.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Jim Carrey
(Gast)

n/a Beiträge
 
#12

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 18:17
Vermutlich machst du irgendwo Murks mit Zeigern. Dass es funktioniert hat und jetzt wieder funktioniert, ist wahrscheinlich reine Glücksahe.
Nur wie passt das mit einem Neustart des Systems zusammen?
 
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#13

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 19:05
Vermutlich machst du irgendwo Murks mit Zeigern. Dass es funktioniert hat und jetzt wieder funktioniert, ist wahrscheinlich reine Glücksahe.
Definitiv auch meine Vermutung

Nur wie passt das mit einem Neustart des Systems zusammen?
Gibt diverse Sachen, die sich nach einem Neustart ändern können. Z.B. werden alle DLLs dank ASLR an eine neue zufällige ImageBase gemappt.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
 
Jim Carrey
(Gast)

n/a Beiträge
 
#14

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 19:30
Zu den Pointern kann ich nur sagen... ich verwende nur da Pointer wo das Programm schon lange komplett geladen wurde.
Vorher absolut nicht.
 
nahpets
(Gast)

n/a Beiträge
 
#15

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 20:32
Das mag ja sein, aber offensichtlich blieb das Problem ja bis zum Systemneustart bestehen.

D. h.: Es besteht die Möglichkeit, dass Du versehentlich irgendwo im Arbeitsspeicher was überschrieben hast, an einer Stellen, an der Du es niemals vermuten würdest.

Zufällig wird aber zu dem Zeitpunkt, an dem die Zugriffsverletzung auftrat, versucht, dort auf den Speicher zuzugreifen, aber leider wurde da was zerstört.

Irgendeine DLL oder das Betriebssystem selbst, hat da wohl irgendwas vermutet, um es auszuführen, aber leider hat das nicht (mehr) geklappt.

Erst durch einen Neustart des Betriebssystem wurde das Problem behoben, da dabei letztlich alles "neu gemacht wird".

Wenn man bei der Arbeit mit Pointern was falsch macht, muss das nicht zwingend das eigenen Programm betreffen, sondern es kann eine Auswirkung "irgendwo" im System oder in anderer Software haben. So ein Fehler muss nichtmal zwingend auffallen, es kommt halt drauf an, wie kritisch die "zerbeulte" Stelle im Arbeitsspeicher ist.

Die Ursache solcher Probleme zu finden ist nicht zwingend trivial, zumal so ein "Seiteneffekt" nicht unbedingt sofort auffallen muss.
 
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#16

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 20:45
Wenn man bei der Arbeit mit Pointern was falsch macht, muss das nicht zwingend das eigenen Programm betreffen, sondern es kann eine Auswirkung "irgendwo" im System oder in anderer Software haben. So ein Fehler muss nichtmal zwingend auffallen, es kommt halt drauf an, wie kritisch die "zerbeulte" Stelle im Arbeitsspeicher ist.
Das ist zum Glück unter Windows nicht (mehr) der Fall, sofern man nicht mit MSDN-Library durchsuchenWriteProcessMemory im virtuellen Adressraum eines anderen Prozesses rumspielt. Pages von DLLs haben das COPY_ON_WRITE Flag, wodurch Änderungen an dieser Stelle nur für deinen eigenen Prozess übernommen werden. Höchstens MemoryMappedFiles (MapViewOfFile, NtMapViewOfSection) könnten durch Schreiben an eine falsche Adresse global und permanent bis zum Neustart des Systems beschädigt werden.

Im Grunde hast du aber Recht. Besonders mit deiner letzten Aussage, weshalb ich meistens sogar froh darüber bin, einen Seiteneffekt zu bekommen. Dann weiß ich nämlich, dass irgendwas schief läuft und kann mich auf Fehlersuche begeben.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
 
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#17

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 21:20
Naja, für mich trotzdem kein Grund mein geliebtes Windows 7 zu verlassen
Zu den Pointern kann ich nur sagen... ich verwende nur da Pointer wo das Programm schon lange komplett geladen wurde.
Vorher absolut nicht.
Es ist äußerst unwahrscheinlich, das Windows "schuld" ist. In 99,9% dieser Fälle ist der Programmierer der Fehlerverursacher. Wie in #4 angemerkt ist der initialization Abschnitt einer Unit der erste Ort wo man suchen muß.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
 
Jim Carrey
(Gast)

n/a Beiträge
 
#18

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 21:23
mhhhh... also die einzige Angelegenheit mit Pointer die ich vor dem problem hatte war... ich habe auf eine Adresse zugegriffen, die noch nicht belegt war mit meinem vorgesehenem Inhalt. Sonst hab ich nix gemacht und das Problem trat auch erst ~1 Stunde später auf.
 
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 21:35
ich habe auf eine Adresse zugegriffen, die noch nicht belegt war mit meinem vorgesehenem Inhalt.
Der übliche Weg ist eigentlich, einen Wert "irgendwo" abzulegen, und dann die Adresse dieses "irgendwo" zu übergeben

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
 
Jim Carrey
(Gast)

n/a Beiträge
 
#20

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 21:39
Ich hab mich mit meiner showmessage in der Zeile vertan, das ist alles
 
Thema geschlossen
Seite 2 von 4     12 34      


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 12:33 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