![]() |
Absturz abhängig vom Verzeichnisnamen und Dateinamen der Exe
Hallo,
ich entwickle an einem großen Projet, bei dem inzwischen sporadische Fehler beim Beenden auftreten. Diese Fehler treten erst auf wenn das Programm beendet wird und die Destruktoren aufgerufen werden. Das misteriöse ist, dass die Fehlermeldung nur erscheint wenn das Verzeichnis in dem die Exe liegt mit ".6" endet, bzw ".<Ziffer>" . Wenn ich den Dateinamen der Applikation verändere bleiben die Abstürze ebenfalls aus. Hat jemand schon einmal ein ähnliches Problem gehabt? Wie wäre denn die "Best practise" Herangehensweise zum Debuggen? Ich habe mich bereits mit Debuggern durch Speicherabbilder gewühlt und konnte nur feststellen, dass ein FreeAndNil Probleme bereitet, das jedoch schon beim starten des Applikation aufgerufen wird (Dei Fehlermeldung erscheint jedoch erst beim Beenden). Gebe ich den Speicher für diese TSTringList nicht frei bleiben die Abstürze aus (Dafür entsteht ein Memoryleak). Ich kann mir jedoch nicht vorstellen, dass dieses FreeAndNil wirkliche die Ursache ist. Hat jemand schon einmal ein ähnliches Problem gehabt? Vielen Dank im Voraus! |
Re: Absturz abhängig vom Verzeichnisnamen und Dateinamen der
Benutzt du vielleicht relative Verzeichnisangaben oder ähnliche Fehler?
Welches Betriebssystem und welche Delphiversion ist das? Ja, und allgemein: Wenn es beim Freigeben Probleme gibt, dann ist das oft Speicherproblemen wie dem Schreiben auf falsche Speicherbereiche geschuldet. Zum Beispiel bei Fehlern bei der Verwendung von direkten Pointern oder dynamischen Array. Für letzteres kannst du in den Projektoptionen einmal die Bereichsüberprüfung aktivieren. |
Re: Absturz abhängig vom Verzeichnisnamen und Dateinamen der
Zitat:
Nur für den unwahrscheinlichen Fall, dass es wirklich am Dateinamen liegt... |
Re: Absturz abhängig vom Verzeichnisnamen und Dateinamen der
Hallo nochmal,
ich hätte nicht gedacht Antworten auf ein so seltsames Problem zu bekommen, deshalb habe ich mich wirklich gefreut. :cheer: Und es hat funktioniert! :cheer: Nach der Aktiviertung der Bereichsüberprüfung hat er gelegentlich eine Exception geworfen. Das Problem war eine for Schleife, die einen String parst und beim Index 0 beginnt. Da ich in mehreren Sprachen aktiv bin, habe ich das erst auf den zweiten Blick gemerkt. War ein super Tip !!! Vielen Dank euch Beiden! Ihr habt mir einige graue Haare erspart. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 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