AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Ursache für Zugriffsverletzung finden

Ursache für Zugriffsverletzung finden

Ein Thema von JFB · begonnen am 10. Mär 2010 · letzter Beitrag vom 10. Mär 2010
Antwort Antwort
JFB

Registriert seit: 8. Apr 2005
57 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Ursache für Zugriffsverletzung finden

  Alt 10. Mär 2010, 10:21
Hallo,

wir haben hier häufig mit hässlichen Zugriffsverletzungen, i.d.R. in irgendwelchen Fremd- und/oder Windows-DLLs zu tun. Und natürlich treten diese Fehler meist nicht regelmäßig aber doch zu häufig auf Kundenrechnern auf. Der Kunde ist dann hunderte von Kilometern entfernt, so dass man nicht so ohne Weiteres irgendwelche Überprüfungen auf seinem Rechner (der fast immer Teil eines Netzwerks ist) vornehmen kann. Aktuell kämpfe ich mal wieder mit einer Zugriffsverletzung in "ntdll.dll". Bisher habe ich mir damit geholfen, in mein Programm Kontrollmeldungen einzubauen, um so die Stelle in meinem Programm herauszufinden, bis zu der alles richtig funktioniert. Dies funktioniert manchmal. Genausooft kommt es aber vor, dass der Fehler nach dem Einbau der Kontrollmeldung nicht mehr auftritt. Meine Frage: Auf welche Weise bearbeitet Ihr diese Art von Fehlern? Gibt es evtl. Tools, die helfen können aber ohne den fehlerhaften Programmablauf selbst zu verändern?

Ich bin für jeden Tip dankbar, der mir bei diesen sehr zeitraubenden Wartungsarbeiten hilft.

Gruß
Johann
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.566 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Ursache für Zugriffsverletzung finden

  Alt 10. Mär 2010, 10:35
Zum Beispiel www.Eurekalog.com. Da wird auch der Callstack mit ausgegeben. Die Fehlermeldung kann per Mail an eine definierte Adresse geschickt werden.

Nutze den mittlerweile in all meinen Applikationen und bin recht zufrieden mit der Sache.

Sherlock
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.002 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Ursache für Zugriffsverletzung finden

  Alt 10. Mär 2010, 10:46
Auch mit FastMM und aktivierten Debug/TD32-Debuginfos in der Exe bekommt man schöne Aufrufstacks.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
JFB

Registriert seit: 8. Apr 2005
57 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Ursache für Zugriffsverletzung finden

  Alt 10. Mär 2010, 10:49
@Sherlock

Hilft mir das Tool auch, wenn die Zugriffsverletzung in Fremd-Dlls auftritt? Meist ist es so, dass ich die DLL die den Fehler meldet garnicht selbst aufrufe. Vielmehr wird sie über Umwege von anderen Dlls aufgerufen. Selbst wenn man herausfindet, bis wohin das eigene Programm fehlerfrei durchläuft, kommt man oft nicht weiter. Das Problem ist doch, das irgendwann vorher irgendwer einen vom DLL benutzten Zeiger "kaputtgeschrieben" hat.
Für mein eigenes Exe und Dlls benutze ich die JCL-Debug-Infos (Jedi). Für diese Fälle ist das auch ganz gut, hilft aber kaum bei Fremd-Dlls.

Gruß
Johann
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.002 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Ursache für Zugriffsverletzung finden

  Alt 10. Mär 2010, 11:01
Zitat von JFB:
Hilft mir das Tool auch, wenn die Zugriffsverletzung in Fremd-Dlls auftritt? Meist ist es so, dass ich die DLL die den Fehler meldet garnicht selbst aufrufe. Vielmehr wird sie über Umwege von anderen Dlls aufgerufen. Selbst wenn man herausfindet, bis wohin das eigene Programm fehlerfrei durchläuft, kommt man oft nicht weiter. Das Problem ist doch, das irgendwann vorher irgendwer einen vom DLL benutzten Zeiger "kaputtgeschrieben" hat.
Und oft ist es der eigene Quellcode der sowas macht. (Freigegebene Handles aber noch zugriff darauf etc.)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf