AGB  ·  Datenschutz  ·  Impressum  







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

"Zugriffsverletzung", wie Debuggen

Ein Thema von yx-man · begonnen am 11. Feb 2009 · letzter Beitrag vom 15. Feb 2009
Antwort Antwort
yx-man

Registriert seit: 23. Sep 2005
26 Beiträge
 
#1

"Zugriffsverletzung", wie Debuggen

  Alt 11. Feb 2009, 08:27
Hallo zusammen,

ich habe eine "Zugriffsverletzung bei Adresse 0000000". Da dieser Fehler nicht in meiner IDE kommt, würde ich gern zu Laufzeit genaueres darüber erfahren, z.B. welche Variable nicht instanziert ist.

Kann man das Programm irgendwie compilieren, dass ich zur Laufzeit mehr Informationen bekomme?

Danke für Eure Mithilfe
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: "Zugriffsverletzung", wie Debuggen

  Alt 11. Feb 2009, 08:33
"Lesen von Adresse 0000..." deutet auf einen nicht-initialisierten Speicherbereich hin. Entweder greifst du auf etwas zu, was du schon freigegeben oder noch nicht initialisiert hast.

Wieso werden die Exceptions in der IDE nicht angezeigt? Hast du das vielleicht deaktiviert?

Ansonsten mal von Madshi madExcept anschauen oder den Execption Handler, der bei der JVCL von JEDI dabei ist.

Über Projekteinstellungen kannst du auch festlegen, ob Delphi eine Map-Datei erzeugt, ob es Debug-Infos in die Anwendung compilen soll, usw.
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#3

Re: "Zugriffsverletzung", wie Debuggen

  Alt 11. Feb 2009, 08:48
start dein programm mit F8 und drück F8 so oft bis das Problem auftretet.

[glasskugel funktion]
Hast du vielleicht irgendwo folgendes geschrieben: Variable := Variable.Create;
Richtig muss da nämlich folgendes stehen: Variable := TVariable.Create;
Passiert mir manchmal
[/glasskugel funktion]
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
yx-man

Registriert seit: 23. Sep 2005
26 Beiträge
 
#4

Re: "Zugriffsverletzung", wie Debuggen

  Alt 11. Feb 2009, 08:55
Hallo zusammen,

nochmals mein Problem: Es tritt auf einen Rechner auf, wo nur das Programm läuft. Da gibt es keine IDE oder F8 (damit wäre das alles ja ziemlich einfach). Deshalb benötige ich ja Informationen aus dem compilierten Programm.

Gruß an Alle
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#5

Re: "Zugriffsverletzung", wie Debuggen

  Alt 11. Feb 2009, 09:07
Zitat von yx-man:
nochmals mein Problem: Es tritt auf einen Rechner auf, wo nur das Programm läuft. Da gibt es keine IDE oder F8 (damit wäre das alles ja ziemlich einfach).
Verwende doch den Remote-Debugger.
Moritz
"Hey, it compiles! Ship it!"
C++Builder Pages
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: "Zugriffsverletzung", wie Debuggen

  Alt 11. Feb 2009, 09:14
Zitat von yx-man:
Hallo zusammen,

nochmals mein Problem: Es tritt auf einen Rechner auf, wo nur das Programm läuft. Da gibt es keine IDE oder F8 (damit wäre das alles ja ziemlich einfach). Deshalb benötige ich ja Informationen aus dem compilierten Programm.

Gruß an Alle
Wie schon erwähnt: Wenn du genauere Fehlerauskünfte willst, schau dir madExcept oder den JVCL Exception-Handler an.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#7

Re: "Zugriffsverletzung", wie Debuggen

  Alt 11. Feb 2009, 09:46
Logging Tools sind ein sehr hilfreiches Mittel um Fehler zu orten.
Wenn ein großes Programm schon "steht" ist es natürlich im nachhinein eine groooooße Arbeit das überall einzuarbeiten. Bei neuen Modulen oder Programmen auf jeden Fall sehr empfehlenswert.

Ich mag nicht mehr ohne Logging Tools arbeiten.

Nicht Fehler suchen, sondern Fehler finden heißt dann die Devise.

Ich habe schon mit beiden unten aufgeführten Tools gearbeitet, beide sind gut.
Im Moment in Einsatz habe ich SmartInspect.

SmartInspect

CodeSite
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
yx-man

Registriert seit: 23. Sep 2005
26 Beiträge
 
#8

Re: "Zugriffsverletzung", wie Debuggen

  Alt 11. Feb 2009, 17:57
Hallo,

ich habe jetzt versucht, madExcept zu installieren, aber meine Turbo Delphi will das nicht zulassen.
Meldung: "Die Anwendung konnte nicht gestartet werden, weil madBasic_.bpl nicht gefunden wurde."
Was könnte das Problem sein ?

Gruß und Danke
  Mit Zitat antworten Zitat
yx-man

Registriert seit: 23. Sep 2005
26 Beiträge
 
#9

Re: "Zugriffsverletzung", wie Debuggen

  Alt 13. Feb 2009, 09:53
Da madExcept mit Turbo Delphi ja scheinbar nicht geht, würde ich gern Application.OnException nutzen und dort möglichst viele Informtionen ausgeben. Kann man irgendwo die Methode und die Klasse/Instanz auslesen, wo der Abbruch passiert. An den Variablennamen wage ich nicht zu denken, denn den gibt es bestimmt nirgendwo.
Welche Informationen könnte ich noch ausgeben.

Danke yx-man
  Mit Zitat antworten Zitat
yx-man

Registriert seit: 23. Sep 2005
26 Beiträge
 
#10

Re: "Zugriffsverletzung", wie Debuggen

  Alt 15. Feb 2009, 11:35
Da niemand mir eine Turbo Delphi Lösung vorschlagen konnte, denke ich, es ist für alle interessant, wenn ich jetzt meine vorstelle, die ich im regen Mail-verkehr mit madshi gefunden habe:

Man braucht erstmal eine mes-Datei(siehe Anhang).Die konnte ich mit Hilfe von Delphi 2005 erzeugen. Danach das madCollection-Verzeichnis kopieren und madExcept deinstallierenen, sonst kommen die Komponentenfehler bei Turbo Delhpi. Danach startet man Turbo Delphi, nimmt in die uses des Projects madExcept und madLinkDisAsm (bei madexcept 2) auf, nimmt in den Unit-Pfad das kopierte Verzeichnis mit auf und kompiliert alles durch. Jetzt muß man manuell noch die Verarbeitung abschließen, indem man "madExceptPatch DeinProjekt.exe" aufruft. Danach kann man das Projekt aushalb der IDE aufrufen und madExcept tut seine Arbeit.

Ich habe mich dann als Exception-Log-und Abfangtool doch für etwas anderes entschieden, nämlich Exceptlog. Das erzeugt mir nur eine Datei mit den Exceptions + Zeilenummer des Abbruch, was ich ausreichend finde.

Gruß und Danke an alle
Yx-man
Angehängte Dateien
Dateityp: zip beispiel_100.zip (784 Bytes, 9x aufgerufen)
  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 08:08 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