AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EAccessViolation im Projekt

Ein Thema von Z32 · begonnen am 6. Feb 2007 · letzter Beitrag vom 14. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
Z32
(Gast)

n/a Beiträge
 
#1

EAccessViolation im Projekt

  Alt 6. Feb 2007, 18:32
Hallo,

bin ratlos. Ich bekomme immer den Fehler "EAccessViolation" mit einer Zugriffsverletzung im meinem Programm. Wenn ich das Programm dann in Delphi ausführe, zeigt der mir immer die Stelle an, wo das Programm abgebrochen wurde und das ist immer in dem Project auf dem letzten "end."

Was jetzt meine Frage ist. Was hat das zu bedeuten, was ist falsch?

program Project1;

Delphi-Quellcode:
uses
  Forms,
  Unit1 in 'Unit1.pas{Form1},
  Unit2 in 'Unit2.pas{Form2},
  Unit3 in 'Unit3.pas{Form3},
  Unit4 in 'Unit4.pas{Form4},
  Unit5 in 'Unit5.pas{Form5},
  Unit6 in 'Unit6.pas{Form6},
  Unit7 in 'Unit7.pas{Form7},
  Unit8 in 'Unit8.pas{Form8};

{$R *.res}

begin
  Application.Initialize;
  Application.Title := 'MoneyMaker';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm4, Form4);
  Application.CreateForm(TForm5, Form5);
  Application.CreateForm(TForm6, Form6);
  Application.CreateForm(TForm7, Form7);
  Application.CreateForm(TForm8, Form8);
  Application.Run;
end. {HIER IST DIE MAKIERTE ZEILE; ALSO DER FEHLER
Ich hoffe, dass mir jemand helfen kann...
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: EAccessViolation im Projekt

  Alt 6. Feb 2007, 18:35
Zitat von Z32:
Ich bekomme immer den Fehler "EAccessViolation" mit einer Zugriffsverletzung im meinem Programm. Wenn ich das Programm dann in Delphi ausführe, zeigt der mir immer die Stelle an, wo das Programm abgebrochen wurde und das ist immer in dem Project auf dem letzten "end."

Was jetzt meine Frage ist. Was hat das zu bedeuten, was ist falsch?
Hi,
da deutest Du etwas falsch. Der Cursor steht auf dem letzten end., weil die vohergehende Zeile gerade ausgeführt wurde. Über den Sinn und Unsinn kann man sich natürlich streiten, jedenfalls tritt der Fehler schon im Application.Run auf. Wo genau der Fehler liegt kann Dir so keiner sagen, da natürlich keiner weiß was bei Dir passiert. Zudem sollte die DPR Datei eigentlich auch aut. erstellt und verwaltet werden!

Gruß Der Unwissende
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: EAccessViolation im Projekt

  Alt 6. Feb 2007, 18:37
Im Projekt ist der Fehler nicht. Starte es mal im Debugger
Markus Kinzler
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#4

Re: EAccessViolation im Projekt

  Alt 6. Feb 2007, 20:00
Aso, das heißt ich muss den Fehler in den Units suchen...

Aber ich habe da noch eine frage: Wie starte ich das den im debugger?

Mit der eingabeaufforderung, oder wie?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: EAccessViolation im Projekt

  Alt 7. Feb 2007, 11:52
Der fehler passiert häufig, wenn man die rücksprungaddresse im Stack überschrieben hat. Gern passiert das bei (dynamischen) arrays.

Debugger: F7, F8 + Breakpoints
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#6

Re: EAccessViolation im Projekt

  Alt 4. Nov 2008, 08:08
Ich schließe mich hier einfach mal an.

Ein paar wenige unserer Kunden berichten uns an einer bestimmten Stelle in unserem Programm von einer Fehlermeldung, die auf eine EAccessViolation hindeutet ("Speicherzugriffsverletzung bei Adresse ... usw."). Bei uns im Haus tritt das natürlich nie auf, sodass man sich mit dem Debugger hätte ranmachen können. Nun ist die Frage, wie man dem Problem am besten zu Leibe rückt. Kann man die EAccessViolation irgendwie auswerten um auf die Stelle zu kommen (Unit + Codezeile), an der das ganze passiert? Wie sollten wir am besten vorgehen?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: EAccessViolation im Projekt

  Alt 4. Nov 2008, 08:12
Möglichkeit wäre per JCL (Jedi Code Library) + aktive Debuginfos sich einen Stacktrace beim auftreten einer unbehandelten Exception geben zu lassen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: EAccessViolation im Projekt

  Alt 4. Nov 2008, 08:32
Zitat von Infect:
Ein paar wenige unserer Kunden berichten uns an einer bestimmten Stelle in unserem Programm von einer Fehlermeldung, die auf eine EAccessViolation hindeutet ("Speicherzugriffsverletzung bei Adresse ... usw."). Bei uns im Haus tritt das natürlich nie auf, sodass man sich mit dem Debugger hätte ranmachen können. Nun ist die Frage, wie man dem Problem am besten zu Leibe rückt. Kann man die EAccessViolation irgendwie auswerten um auf die Stelle zu kommen (Unit + Codezeile), an der das ganze passiert? Wie sollten wir am besten vorgehen?
Welche Delphi-Version habt ihr denn im Einsatz? Die neueren sind ja mit dem Remote Debugger ausgestattet, der wohl genau für solche Fälle konzipiert ist
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#9

Re: EAccessViolation im Projekt

  Alt 4. Nov 2008, 09:15
Bei Delphi 7 kannst man unter Projektoptionen->Linker eine Map-Datei zum Projekt erzeugen lassen. mit der fällt das Debuggen bei einem solchen Problem auf jeden Fall leichter...

Bei Delphi 2007-2009 müsste ich heute abend mal zu Hause schauen.
"Hey Süße,
hol mir mal was zu trinken! Du wirst schon wieder hässlich!"

Zitat eines Betrunkenen
  Mit Zitat antworten Zitat
MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#10

Re: EAccessViolation im Projekt

  Alt 4. Nov 2008, 09:21
Wir haben noch Delphi 7 im Einsatz und bis auf absehbare Zeit wird sich da auch nichts dran ändern. Daher wirds eher nichts mit dem Remote-Debuggen. Außerdem braucht man da ja eine Internetverbindung zum Kunden (oder?) und die haben wir nicht.

@Bernhard: an welchen Bestandteil der JCL hast du da genau gedacht, der einem bei so etwas hilft? Kann ich mir der Stacktrace ähnlich wie bei Java vorstellen mit Klartext-Methoden- und Klassennamen? Wenn ja, wäre das natürlich ne tolle Sache. Kannst du mir etwas mehr dazu sagen, wie ich da vorgehen muss um das einzubauen (vielleicht kleines Codebeispiel?).

@spaxxn: was genau ist so eine Map-Datei und inwiefern hilft mir die weiter?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:53 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