AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zugriffsverletzung mittels Adresse finden
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung mittels Adresse finden

Ein Thema von Cöster · begonnen am 18. Nov 2006 · letzter Beitrag vom 18. Nov 2006
Antwort Antwort
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#1

Zugriffsverletzung mittels Adresse finden

  Alt 18. Nov 2006, 10:51
Hi!

Wenn eine Zugriffsverletzung auftritt, steht in der Message ja immer, bei welcher Adresse sie auftritt und beim Lesen welcher Adresse, z.B. bei Adresse 004621E3 [...]. Lesen von Adresse 00004619.

Kann man anhand dieser beiden Adressen die Fehlerquelle idenifizieren?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)
Online

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#2

Re: Zugriffsverletzung mittels Adresse finden

  Alt 18. Nov 2006, 10:57
Eher Jain. Zumindest kannst Du herausfinden, welche Speichertstelle im Codesegment (und damit welcher Aufruf in Deiner Anwendung) den Fehler produziert hat und auf welche Speicheradresse sie zugreifen wollte. Was an dieser Speicherstelle nun wirklich ist, weisst Du nicht. Was da sein sollte kannst Du wahrscheinlich schon wieder aus dem Kontext heraus erkennen.

Einfacher wäre es, z.B. die Jedi's zu nehmen. Die haben ne recht gute Debug-Unit so dass Du wenn Du Deine Anwendung mit Debug-Informationen auslieferst sogar gleich die Unit und die Codezeile raustracen kann wenn eine unbehandelte Exception auftritt. Macht die Sache deutlichst einfacher: Du bekommst ein Textfile wo neben dem kompletten Callstack auch eben noch zusätzliche Informationen drinstehen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Zugriffsverletzung mittels Adresse finden

  Alt 18. Nov 2006, 12:22
Wenn du den gleichen Quellenstand noch hast aus dem die EXE mit der AV gebildet wurde, dann compiliere und starte das Programm in der IDE. Dann halte die Programmausführung an (z.B. das Pause Symbol in der IDE) und dann kannst du unter Suchen->Laufzeitfehler suchen... die Adresse 004621E3 eingeben und anschauen welche Stelle er dir zeigt.
  Mit Zitat antworten Zitat
Win32.API

Registriert seit: 23. Mai 2005
312 Beiträge
 
#4

Re: Zugriffsverletzung mittels Adresse finden

  Alt 18. Nov 2006, 12:31
@Phoenix
koenntest du ein Beispiel posten, wie man das mit dem jedis machen kann? Ich finde mich da nicht wirklich zurecht
und die Forensuche hat auch kein brauchbares Ergebniss geliefert.

--win32
  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 11:42 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