AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Hilfe: Brauche Tipps für Fehlersuche
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe: Brauche Tipps für Fehlersuche

Ein Thema von D5X2 · begonnen am 1. Dez 2007 · letzter Beitrag vom 3. Dez 2007
Antwort Antwort
D5X2

Registriert seit: 4. Feb 2006
6 Beiträge
 
#1

Hilfe: Brauche Tipps für Fehlersuche

  Alt 1. Dez 2007, 10:23
Hallo zusammen!

Ich arbeite mit D5 an einem relativ komplexen Projekt und habe ein Problem, bei dem ich mangels erkennbarem System nicht weiter komme:

Ich starte das Programm, rufe das erste Form auf und bekomme z.B. beim Öffnen einer Query eine Zugriffsverletzung. Ich beende das Programm, starte es direkt wieder neu, mache die gleichen Schritte und kann das Form ohne Probleme aufrufen. Dafür kommt der Fehler mal nach wenigen, mal nach vielen Form-Wechseln allerdings immer an einer anderen Stelle. Selbst bei exakt gleicher Vorgehensweise kommt der Fehler immer an einer anderen Stelle - mal sofort, mal später.

Ich vermute, es wird irgendwo an eine falsche Stelle in den Speicher geschrieben und das Programm damit durcheinander gebracht. Erstellen und Freigeben von Objekten habe ich schon mehrfach überprüft.

Bin für jeden Tipp dankbar, wie ich hier vorgehen kann.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: Hilfe: Brauche Tipps für Fehlersuche

  Alt 1. Dez 2007, 11:14
Tja, außer durchsteppen (F8) fällt mir im Moment auch nicht viel ein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Hilfe: Brauche Tipps für Fehlersuche

  Alt 1. Dez 2007, 11:23
Verwendest du die BDE?
Hatte mal ähnliche, nicht nachvollziehbare Probleme. Bin dann von der BDE weg und die Anwendung lief tadellos.
  Mit Zitat antworten Zitat
Tyrolean

Registriert seit: 3. Jul 2003
76 Beiträge
 
Delphi 7 Professional
 
#4

Re: Hilfe: Brauche Tipps für Fehlersuche

  Alt 1. Dez 2007, 12:05
Hallo!

Versuch es mal mit MadExcept (www.madshi.net), das sollte dir helfen den Fehler genau zu finden.

Gruß aus den Bergen
Günter
  Mit Zitat antworten Zitat
D5X2

Registriert seit: 4. Feb 2006
6 Beiträge
 
#5

Re: Hilfe: Brauche Tipps für Fehlersuche

  Alt 3. Dez 2007, 09:50
BDE verwende ich nicht.

Ich habe mir MadExcept mal angesehen, sieht sehr interessant aus. Was soll ich sagen, nachdem ich MadExcept in mein Projekt eingebunden habe, konnte ich den Fehler nicht mehr reproduzieren. Beseitigt das Teil auch Fehler? Ich fürchte mal nicht, trotzdem danke für den Tipp.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#6

Re: Hilfe: Brauche Tipps für Fehlersuche

  Alt 3. Dez 2007, 10:46
Hallo

1.)
Mach dir eine Kopie deines Sourccode und arbeite darin.
Nun Binäres Suchverfahren durch stückweises aushängen von Code.
Dazu versuch erst die andreren nicht benötigten Forms rauszuwerfen, so daß lowlevel units erhalten bleiben.
Gleiches Fehler bild ?
usw.

2.) Alle Variablen initialisiert
Lieber einmal zu viel eine Startwert zugewiesen als ewig suchen. Also suche alle Variablen welche nicht initialiert wurden.

3.) Anstelle von object.Free verwende ich IMMER FreeAndNil(object)....

4.) Alle GetMem haben passenden Freemem ... strdispose ....

5.) Siehst du daß der speicher fortläuft (Taskmanager?)

6.) Compiler strenge Prüfungen, RangeCheck, etc ...

....
Peter Schaible
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Hilfe: Brauche Tipps für Fehlersuche

  Alt 3. Dez 2007, 10:50
Hallo,

dann würde ich aber auf jeden Fall erst mal MadExcept wieder rausnehmen
(für das Reproduzieren).

Check mal vor dem Query-Zugriff per Assert(Query.Name='???'),
('???' mit dem richtigen Namen füllen.)
ob der Zugriff immmer noch klappt.

In einem ähnlichen Fall (komplizierter Code, verlinkte Pointer puh ...),
hatte ich mir so beholfen, dass ich eine Testroutine
(in deinem Fall mit dem betreffenden Assert) gschrieben habe,
und die Routine praktisch bei jedem fremden Code-Aufruf aufgerufen habe.

Die Test-Routine machst du public in der TForm
und erzeugst eine Form-Variable im interface-Teil (also global),
und setzt Sie im FormCreate

Form_Debug:= Self;

Dann kannst du mit

Form_Debug.DebugCheck überall darauf zugreifen.


Hat mich 1 Stunde gekostet, den Übeltäter zu finden.


Heiko
Heiko
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Hilfe: Brauche Tipps für Fehlersuche

  Alt 3. Dez 2007, 10:58
Kennst du schon mein Tutorial Delphi Fehlersuche (Strategien & Tipps) ?
Letzte Version ist im Betrag #10.
Andreas
  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 04:38 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