![]() |
Fehlersuche - Suchbereich eingrenzen?
Liste der Anhänge anzeigen (Anzahl: 1)
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! |
AW: Fehlersuche - Suchbereich eingrenzen?
Da ist doch die Schaltfläche "Debuggen".
|
AW: Fehlersuche - Suchbereich eingrenzen?
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 |
AW: Fehlersuche - Suchbereich eingrenzen?
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. |
AW: Fehlersuche - Suchbereich eingrenzen?
Zitat:
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 |
AW: Fehlersuche - Suchbereich eingrenzen?
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 |
AW: Fehlersuche - Suchbereich eingrenzen?
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?". |
AW: Fehlersuche - Suchbereich eingrenzen?
Zitat:
|
AW: Fehlersuche - Suchbereich eingrenzen?
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. |
AW: Fehlersuche - Suchbereich eingrenzen?
Zitat:
Muss ich mal testen. Habe mir meine Infos immer aus den Windows Logs geholt. Kam bisher gut damit zurecht. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz