AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Fehlersuche - Suchbereich eingrenzen?
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlersuche - Suchbereich eingrenzen?

Ein Thema von romber · begonnen am 28. Dez 2016 · letzter Beitrag vom 29. Dez 2016
Antwort Antwort
Seite 1 von 2  1 2      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 18:30
Hallo!

Folgendes Problem: mein Programm stürzt ab und zu komplett ab. Dabei erscheint die allgemein bekannte Windows-Fehlermeldung, das Programm hat aufgrund eines Problems nicht richtig funktioniert usw. (s. Bild im Anhang). Die wochenlange Fehlersuche hat dem Programm zwar gutgetan, da Unmenge an Denk- und Programmierfehlern korrigiert wurden, das eigentliche Problem wurde aber nicht gelöst. MadExcept hat mich auch nicht weitergebracht, da es nicht mehr ausgelöst wird, wenn das Programm abgestürzt ist.

Gibt es die Möglichkeit, bei der Fehlersuche den Suchbereich anhand des Fehlertyps etwas einzugrenzen? Ich meine, es gibt verschiedene Fehlertypen, oder besser gesagt Fehlermeldungen, die dabei entstehen. Es gibt z.B. Access Violations, die meistens relativ einfach zu beheben sind. Oder das Programm kann sich einfach aufhängen mit der Meldung "Das Programm reagiert nicht". In diesem Fall könnte neben anderen Ursachen z.B. unsychronisierten Zugriff auf die GUI oder hängende Threads sein. Gibt es vielleicht für den von mir beschriebene Fehlertyp irgendwelche ganz typische Ursachen?

Zusätzlich würde mich natürlich interessieren, wie Ihr, die erfahrenen Programmierer, in so einer Situation machen würdet.

Vielen Dank im Voraus!
Miniaturansicht angehängter Grafiken
img_4371.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 18:43
Da ist doch die Schaltfläche "Debuggen".
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 18:46
würd mal zwei Sachen berücksichtigen
wenn MultiThread dann schauen ob da irgendwo eine Konflikt zwischen den Thread exisitert und lieber mal mehrere Sachen per CriticalSection sichern.
und auf jeden Fall sowas wie FastMM4 mit FullDebug reinhängen und schaun ob Speicherlöcher bzw in deinem Fall, ein Zugriff auf einen bereits freigegebene Speicherstelle, oder co passieren
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#4

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 18:49
Wenn bei mir der Debugger absolut nicht mehr weiterhilft, dann setze ich an verschiedensten Stellen im Programmablauf Message-Boxen.
Wenn ich 10 Boxen setze durchnummeriert von 1 bis 10 und bei 5 das Programm abschmiert weiß ich, das Problem ist eventuell zwischen 1 und 5.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 19:06
Zitat:
Da ist doch die Schaltfläche "Debuggen".
Bringt überhaupt nix es sei denn man hat sehr gute ASM Kenntnisse.

Wenn dein Programm keine Fehlermeldung ausgibt und trotzdem abstürzt
dann schaue mal unter

Computerverwaltung/Ereignisanzeige/Windows Protokolle/Anwendungen.. nach welcher Fehler Aufgetreten ist.

gruss

Geändert von EWeiss (28. Dez 2016 um 19:09 Uhr)
  Mit Zitat antworten Zitat
hoika

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

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 19:17
Hallo,
MadExcept hat mich auch nicht weitergebracht, da es nicht mehr ausgelöst wird, wenn das Programm abgestürzt ist.

Das kann ich so nicht stehen lassen.
MadExcept würde ja vor dem Absturz eine Meldung bringen.

mein Programm stürzt ab und zu komplett ab.
Hier musst du ansetzen.
Stürzt es bei dir oder beim Kunden (?) ab?.
Ist es nachvollziehbar?

und hier alles angeknippst?
Bereichsprüfung
IO-Prüfung
Überlaufprüfung
Heiko
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#7

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 20:28
Alleine schon durch das Abklären von "ab und zu" hat man eigentlich schon die grobe Richtung und weiß wo man ansetzen muss.
Stell dir einfach mal die Frage "Was habe ich als letztes gemacht?".
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 21:55
Zitat:
Da ist doch die Schaltfläche "Debuggen".
Bringt überhaupt nix es sei denn man hat sehr gute ASM Kenntnisse.
Wenn man beim Builden eine Map-Datei erstellt, werden in fast jedem externen Debugger die Symbole daraus angezeigt. Anhand der Methodennamen und des Callstacks kann man sich dann auch ohne großartige Assembler-Kentnisse oft ziemlich gut orientieren.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 22:18
Es wären sicher einige Konkretisierungen sinnvoll.

Ist der Abbruch so unter Debug-Kontrolle durch die IDE?
Hast Du eigene Threads erzeugt? Wie viele? Was tun die grundsätzlich?
Hast Du eine try...except-Behandlung in den Execute-Methoden?

Wenn man das nicht wirklich debuggen kann, kann man sich mit Logs heran tasten.
Komfortabel ist CodesiteLogging, aber das kann die Abläufe der Threads schon stören.

Manchmal ist es daher sinnvoller, in Stringlisten oder Textfiles zu loggen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: Fehlersuche - Suchbereich eingrenzen?

  Alt 28. Dez 2016, 22:21
Zitat:
Da ist doch die Schaltfläche "Debuggen".
Bringt überhaupt nix es sei denn man hat sehr gute ASM Kenntnisse.
Wenn man beim Builden eine Map-Datei erstellt, werden in fast jedem externen Debugger die Symbole daraus angezeigt. Anhand der Methodennamen und des Callstacks kann man sich dann auch ohne großartige Assembler-Kentnisse oft ziemlich gut orientieren.
Danke.
Muss ich mal testen.

Habe mir meine Infos immer aus den Windows Logs geholt.
Kam bisher gut damit zurecht.

gruss
  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 14:45 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