Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Absturz abhängig vom Verzeichnisnamen und Dateinamen der Exe (https://www.delphipraxis.net/138548-absturz-abhaengig-vom-verzeichnisnamen-und-dateinamen-der-exe.html)

Luuuz 12. Aug 2009 12:07


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!

jaenicke 12. Aug 2009 12:14

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.

Ralf Kaiser 12. Aug 2009 13:29

Re: Absturz abhängig vom Verzeichnisnamen und Dateinamen der
 
Zitat:

Zitat von Luuuz
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.

Kleiner Kreuztest obs an Windows liegt: Kopier mal NOTEPAD.EXE unter dem Namen deiner Anwendung in das Verzeichnis. Stürtzt das dann auch ab?

Nur für den unwahrscheinlichen Fall, dass es wirklich am Dateinamen liegt...

Luuuz 13. Aug 2009 14:25

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 12:50 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