ich brauche mal ein paar Tipps. Also ich suche schon seit Tagen nach einem Fehler in diesem Projekt: https://mitjastachowiak.de/?/projects/s ... index.html
Manchmal (bei ~1/20 Versuchen), wenn man ein neues Bild öffnet, gibt es einen SIGSEV. Ich habe also eine Log-Unit geschrieben, die Log-Befehle direkt in eine Datei schreibt und den Fehler bis in das Destroy des alten Bildes zurückverfolgt. Das Komische: er tritt nicht immer an der gleichen Stelle auf

Eben war es in folgendem Code:
Code: Alles auswählen
destructor TImgdata.Destroy;
begin
if assigned(ExifObj) then begin
Log(' ExifObj Free...');
ExifObj.free;
end;
if assigned(IptcObj) then begin
Log(' IPTCObj Free...');
IptcObj.free;
end;
Log(' start TImgData.Destroy:inherited'); // letzter Eintrag im Log, TImgData erbt von tEndInd; tEndInd hat keinen Destruktor und erbt von nichts
inherited; // TObject.destroy
Log(' finished TImgData.Destroy:inherited');
end;
Code: Alles auswählen
SYSTEM$_$TOBJECT_$__$$_DESTROY
0040D130 53 push %ebx
0040D131 56 push %esi
0040D132 89c3 mov %eax,%ebx
0040D134 89d6 mov %edx,%esi
0040D136 85f6 test %esi,%esi
0040D138 7e07 jle 0x40d141 <SYSTEM$_$TOBJECT_$__$$_DESTROY+17>
0040D13A 89d8 mov %ebx,%eax
0040D13C 8b13 mov (%ebx),%edx
0040D13E ff5248 call *0x48(%edx)
0040D141 85db test %ebx,%ebx
0040D143 740b je 0x40d150 <SYSTEM$_$TOBJECT_$__$$_DESTROY+32>
0040D145 85f6 test %esi,%esi
0040D147 7407 je 0x40d150 <SYSTEM$_$TOBJECT_$__$$_DESTROY+32>
0040D149 89d8 mov %ebx,%eax
0040D14B 8b13 mov (%ebx),%edx
0040D14D ff5238 call *0x38(%edx)
0040D150 5e pop %esi
0040D151 5b pop %ebx
0040D152 c3 ret
0040D153 0000 add %al,(%eax)
0040D155 0000 add %al,(%eax)
0040D157 0000 add %al,(%eax)
0040D159 0000 add %al,(%eax)
0040D15B 0000 add %al,(%eax)
0040D15D 0000 add %al,(%eax)
0040D15F 00 add %cl,0x74c985c1(%ecx)
SYSTEM$_$TOBJECT_$__$$_FREE
0040D160 89c1 mov %eax,%ecx
0040D162 85c9 test %ecx,%ecx
0040D164 740c je 0x40d172 <SYSTEM$_$TOBJECT_$__$$_FREE+18>
0040D166 89c8 mov %ecx,%eax
0040D168 ba01000000 mov $0x1,%edx
0040D16D 8b09 mov (%ecx),%ecx
0040D16F ff5130 call *0x30(%ecx)