Such in der MAP-Datei bitte nach :005345D4.
Wenn das nicht da ist, nach :005345 und wenn das nicht da ist nach :0053.
Findest Du irgendwo hinter dem ersten "Line numbers" der MAP-Datei was dazu?
Wenn nein, könnte es sein, dass der konkrete Fehler nicht in dem Teil des Programmes geschieht, für den Du Quelltext besitzt, also z. B. Komponenten, für die Du nur die DCUs hast. (Gibt es sowas oder hast Du für alles auch die Quelltexte?)
Zitat von
hoika:
MessageBox = Remote-Debugger für Arme
Ja, aber manchmal extrem hilfreich, wenn man überhauptnicht weiß, wo denn da was klemmt oder der Fehler halt mit dem Debugger nicht zu lokalisieren ist, weil der entweder garnicht bis zu der Stelle kommt oder eben (wie hier) der Fehler auf der Entwicklungsmaschine nicht zu reproduzieren ist.
@Ykcim
Schlimmstenfalls:
Pflastere jede, wirklich jede Prozedure am Anfang und am Ende mit ShowMessage ein:
Delphi-Quellcode:
// irgendwo am Anfang:
{$DEFINE MsgDebug}
Function TForm1.NameDerFunktion : keineAhnung;
begin
{$IFDEF MsgDebug}ShowMessage('Start NameDerFunktion');{$ENDIF}
... der eigentliche Funktionsinhalt.
{$IFDEF MsgDebug}ShowMessage('Ende NameDerFunktion');{$ENDIF}
end;
Durch den Kompilerschalter muss Du dann nicht alles wieder entfernen, bevor die Software in Betrieb geht. Den Kompilerschalter kannst Du dann von
{$DEFINE MsgDebug}
nach
{ $DEFINE MsgDebug}
ändern und die Meldungen sind mit dem nächsten Kompilieren wieder weg.
Statt ShowMessage ... kannst Du auch 'ne Loggingfunktion nehmen, die diese Meldungen in 'ne Datei schreibt (sofern Du sowas gerade zur Verfügung hast).
Und nein, wirklich schön ist dieser Lösungsvorschlag nicht, aber als Notnagel kann man's schonmal durchgehen lassen