Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler (https://www.delphipraxis.net/174341-debuggen-von-reproduzierbaren-aber-nicht-nachvollziehbarem-fehler.html)

bernerbaer 18. Apr 2013 07:39

Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
Ich habe folgendes Problem, bei einem Kunden wirft mein Programm beim Beenden einen EInvalid Pointer Fehler, eigentlich nichts Spezielles, wird irgend ein Zugriff auf ein Objekt sein das nicht mehr existiert, aber jetzt das Problem. Der Fehler ist klar reproduzierbar, aber, nur auf genau diesem Rechner, bei einem theoretisch identischem Rechner (gleiche Hardware, gleiches OS, gleicher Virenschutz) beim selben Kunden (in Moskau) und bei all meinen Testrechnern mit den unterschiedlichsten OS und Hardwareausstattungen kann ich den Fehler nicht reproduzieren, auch von andern Kunden habe ich noch nie eine Rückmeldung erhalten, die auf diesen Fehler hindeuten (das Programm ist ca 600x im Einsatz). Wie debuggt man so einen Fehler?

Delphi-Laie 18. Apr 2013 08:21

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
Wie allgemein bis speziell ist denn die Fehlermeldung? Wird wenigstens irgendeine Adresse ausgegeben?

Nersgatt 18. Apr 2013 08:25

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
Wir setzen dafür MadExcept ein. Mit etwas Glück hat man dann schon mal einen Callstack, wo der Fehler auftritt und kann ihn so einkreisen.
Ansonsten Logfile schreiben.
Oder zum Kunden fahren, und per Remotedebugger durchsteppen. Manchmal muss man in den sauren Apfel beißen.

TiGü 18. Apr 2013 09:33

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
Eine banale Frage und sicher schon bedacht, aber Sprache von Betriebssystem und betreffender Software des Testsystems ist gleich der eingestellten Sprache des Kundensystems?

Lemmy 18. Apr 2013 09:48

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
hi,

für nen Test auch mal ne Anwendung dem Kunden geben ohne Optimierung mit aktivierten Debug-Infos.

Grüße

bernerbaer 18. Apr 2013 10:37

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
Das eigentliche Problem wurde auf typisch russisch pragmatische Weise ganz kurzfristig überdeckt, es wurde ein Festplattenabbild vom Rechner auf dem das Programm ohne Fehler lief gezogen und auf den andern Rechner installiert, nun funktioniert das Programm ohne Fehlermeldung. Damit ist zwar nicht mein Fehler im Code gefunden (irgendwo muss da ja ein Bug sein), aber der Druck auf die Fehlersuche ist nun beträchtlich gesunken trotzdem bleibt das Problem bestehen, irgendwann wird der Bug wohl wieder auftauchen.


@Delphi-Laie
Ja, die Fehlermeldung ist schon konkreter, die Adresse wird angegeben, hilft mir aber nicht extrem weiter, da mir schon bewusst ist, wo der Fehler passiert, ich in meinem Code aber keinen Fehler erkennen kann und auch beim normalen Debuggen keine Probleme sehe.

@Nersgatt: ich werde mir MadExcept mal anschauen und testen, was ich auf der Homepage gesehen habe tönt interessant

@TiGü: Ja, die Sprache des OS ist identisch bei Testrechnern und dem spezifischen Rechner

Zum Kunden reisen: Nun, theoretisch stimme ich dir ja zu, aber praktisch ist das in diesem Fall nicht realistisch, der Flug nach Moskau, der Aufenthalt und Rückflug übersteigen die Softwarekosten um ein Mehrfaches

sx2008 18. Apr 2013 11:01

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
Man könnte den Speichermanager FastMM verwenden und die Option CheckHeapForCorruption bzw. FullDebugMode aktivieren.
(FastMM müsste bei Delphi XE3 eigentlich standardmässig verwendet werden, oder?)
Dabei kann der Bug allerdings auch wieder unsichtbar werden.

bernerbaer 18. Apr 2013 12:18

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
Zitat:

Zitat von sx2008 (Beitrag 1211911)
Man könnte den Speichermanager FastMM verwenden und die Option CheckHeapForCorruption bzw. FullDebugMode aktivieren.
(FastMM müsste bei Delphi XE3 eigentlich standardmässig verwendet werden, oder?)
Dabei kann der Bug allerdings auch wieder unsichtbar werden.

Das war meine erste Reaktion auf die Fehlermeldung, hat aber nichts gebracht.

Klaus01 18. Apr 2013 12:31

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
.. ein Festplattenabzug wurde von dem Rechner, auf dem das Programm den Fehler zeigte, nicht gemacht?

Grüße
Klaus

Morphie 18. Apr 2013 14:18

AW: Debuggen von reproduzierbaren aber nicht nachvollziehbarem Fehler
 
Mal mit DependencyWalker geschaut, ob wirklich alle verwendeten DLLs zwischen dem Problemrechner und deinem Rechner übereinstimmen?

Angenommen jemand hat eine manipulierte oder veraltete Version einer Windows-DLL, aus der du eine bestimmte Funktion aufrufst... Dann kann dein Programm fehlerfrei sein, es knallt trotzdem, wenn du die Funktion aus der DLL ausführst.

So ein Problem hatten wir in einer VB6-Anwendung auch mal... Lies sich absolut nicht auf unseren Rechnern / VMs reproduzieren... Bis wir dann eine abweichende Windows-DLL gefunden haben, die wir gar nicht bewusst aufrufen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr.
Seite 1 von 2  1 2      

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