Forum: PC-Programmierung Fehler: Zugriffsverletzung bei Adresse 00000000 in Modul 'ProjektXII.exe',Lesen von Adresse 4DFED47D


von Raimund (Gast)


Lesenswert?

Hallo Leute!
(C++ 98)
wie im Titel beschrieben habe ich in dem besagten Legacy-Code 
Zugriffsverletzung, und möchte sie gerne beheben, kann mir jemand bitte 
helfen, wie man vorgehen soll? Ich habe an der Stelle 00000000 nur 
???????? gefunden und an Position 4DFED47B steht was mit DELETE, meine 
Vermutung ist dass auf ein gelöschtes Objekt zugegriffen wird. Wie finde 
ich heraus welches Objekt es war?

von Olaf D. (Firma: O.D.I.S.) (dreyero)


Lesenswert?

Hallo Raimund,

<funmodus> Frag doch mal den PiusXII.pabst </funmodus>

jetzt mal im Ernst.
Wie soll man dir helfen bei den wenigen Informationen?
Poste mal deinen Sourcecode.

Mein Blick in die Glaskugel lässt mich vermuten,
dass du ein delete (nicht DELETE) auf ein Objekt ausführst,
was schon deleted wurde.

Gruß
Olaf

von Schlaumaier (Gast)


Lesenswert?

Olaf D. schrieb:
> Mein Blick in die Glaskugel lässt mich vermuten,

TOP Glaskugel nur etwas überbelastet. ;)

Zugriffsverletzung <- Bedeutet zu 99% das du keine Rechte hast oder das 
das Objekt nicht vorhanden ist.

Das selbe tritt auf, wenn du eine ungültige Adresse anspringst. Die 
Logik ist dann das du kein Recht hast, diese ungültige Adresse an zu 
springen bzw. aufzurufen.

von PittyJ (Gast)


Lesenswert?

Gibt es unter Windows keine Debugger mehr?
Früher konnte man den Sourcecode damit Schritt für Schritt durchgehen.
Davor gab es auch sowas wie printf.

Schade, dass MS die nützlichen Tools wegoptimiert.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Keine Ahnung was das für eine .EXE ist.

Der Fehler deutet aber auf ungültigen Code hin, der zufällig an erster 
Stelle irgend ein Statement ergibt, das auf Adresse 4D... zugreifen 
möchte.

Besorg Dir X64dbg, dann kannste spielen.

von Raimund (Gast)


Lesenswert?

Hallo Leute!
zuerst mal Danke für die Rückmeldungen.
Konnte mit eurer Hilfe den Fehler beheben echt Top, das Tool ist richtig 
Klasse!
Der Fehler lag in der Datenbank MySQL, es wurde vom alten Ablauf der 
Fehler übernommen und in der Datenbank abgelegt. Und beim neu Ausführen 
wurde versucht Objekte die nicht vorhanden sind zu löschen. Nach 
intensiver Nachforschung stellte ich fest dass, eine Liste angelegt wird 
die Zerstörte Objekte enthält und im Anschluss zerstört wird? Fazit es 
wird jetzt keine Liste mehr erstellt.

Dankeschön nochmals :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.