![]() |
Hilfe mit Access Violation
Hallo
in einem anderen Forumsbeitrag von mirage228 habe ich folgendes gelesen: Zitat:
Das Programm an dem ich arbeite ist kein Dreizeiler, sondern hat einige 10.000 Zeilen mit mehr als 100 Klassen(verteilt auf 8 Packages). In den letzten 2 Tagen habe ich versucht mit F7 und F8 durch den code zu gehen und den Fehler dingfest zu machen. Bisher leider ohne Erfolg, da die Fehlermeldung erst mit dem Beenden der Application angezeigt wird. Es scheint sich aber auf ein Package und den Aufruf eines bestimmten Fensters einschränken zu lassen. Dieses Fenster besitzt mehrere in sich verschachtelte Frames von denen einige dynamisch erzeugt werden. Kann hier jemand helfen????? Vielen Dank Oliver |
Re: Hilfe mit Access Violation
Wie wärs mit Nach und nach Teile des Codes zu Kommentalieren
((meine zum Kommentar machen ( mit Strg + #)) Oder wie nennt man das ??) Aber sonst fält mir dazu nix ein :wall: :wall: :wall: |
Re: Hilfe mit Access Violation
Nimm FastMM oder anderes Überwachungstool. Das nennt dir dann auch die Zeile.
|
Re: Hilfe mit Access Violation
Hi,
Breakpoint weit vor der stelle setzen und Variablen weit vorher kontrollieren, ob alles stimmt. So findet man es am Besten, denn eine AV tritt meistens an ganz anderer Stelle auf als wo man den Fehler gemacht hat. Also Breakpoint + durchsteppen. Mfg FAlter |
Re: Hilfe mit Access Violation
Das callstack-Fenster ist oft sehr hilfreich, um herauszufinden, wo man den Breakpoint setzen, und das Effsiebenen beginnen sollte.
|
Re: Hilfe mit Access Violation
Hallo Delphianer,
vielen Dank für Eure Tips. Mal sehen was mich weiterbringt. Was bedeuten bei Debuggen eigentlich die Marienkäfer an den Tabs der einzelnen Units? Hat das noch mehr zu sagen als das sich der Debugger gerade in der mit Marienkäfer markierten Unit befindet. Ich dachte zunächst das hier ein Fehler aufgetreten ist, hab aber dann in den Videos mit Nick Hodges gesehen das in seinen Beispielen auch die Marienkäfer zu sehen waren. @ FAlter: Genau das hab ich die letzten beiden Tage versucht. Meist ist es aber so das die Variablen nichts anzeigen, weil sie wegoptimiert werden. Oliver |
Re: Hilfe mit Access Violation
Zitat:
Hast du schon alle Warnungen und Hinweise des Kompilers beseitigt? |
Re: Hilfe mit Access Violation
Hi,
Zitat:
Das sollten Marienkäfer sein? Ich dachte immer, das sind hässliche rote Wanzen. Marienkäfer sind doch viel schöner. :gruebel: Mfg FAlter |
Re: Hilfe mit Access Violation
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Dezipaitor,
Zitat:
Nachdem der Fehler aufgetreten ist wird mir jetzt die CPU Ansicht angezeigt, mit der ich nicht wirklich was anfangen kann! Hier ein Ausschnitt aus dem Ereignisprotokoll: .... 1 Modul entladen: PluginManager.bpl. Prozess MdiApp.exe (1224) 2 Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EAccessViolation mit Meldung 'Access violation at address 01171658. Read of address 01171658'. Prozess MdiApp.exe (1224) Was sagt mir denn jetzt die 1224 ?? Anbei noch ein Bild (Bild01.jpg)nach Beenden des Programms. Oliver |
Re: Hilfe mit Access Violation
Also dem Screenshot nach rummst es vermutlich beim oder nach dem Entladen des PluginManager.bpl - wenn dort dann die Stelle klar ist an der es rummst, kann man im Projekt schauen, wo überall daran herummanipuliert wird, in vielen Fällen kommt man so zum Ziel. Übler wäre es natürlich, wenn Dein Fehler gar nicht direkt im Objekthandling zu suchen ist sondern durch überschriebenen Speicher o.ä. zustande kommt. Das lässt sich aus der Ferne aber nicht sagen und meine Glaskugel ist gerade beim Pfandleiher ;)
Gibts im PluginManager ein Finalize? Wenn ja, setz da mal einen Breakpoint direkt an den Anfang. Kommt die AV vor dem Breakpoint oder erst danach? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 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-2025 by Thomas Breitkreuz