Bei XE hält der Debugger in der aufrufenden Methode an und springt nicht weiter heraus. Testcode:
Delphi-Quellcode:
function StrToInt(
const S:
String): Integer;
begin
try
Result := SysUtils.StrToInt(S);
except
Result := 0;
asm int 3
end;
if S = '
'
then Beep;
// nur, damit man sich S nochmal ansehn kann
end;
end;
procedure Test;
var
TestMe: Integer;
begin
TestMe := StrToInt('
dsfsdf435');
ShowMessage(IntToStr(TestMe));
end;
procedure TForm4859.Button1Click(Sender: TObject);
begin
Test;
end;
Der Debugger bleibt nach dem Anhalten auf der Zeile
TestMe := StrToInt('dsfsdf435');
stehen und geht mit F7 dann in das except.
// EDIT:
Und wenn ich Debug-DCUs aktiviert habe, bleibt er im ConvertErrorFmt direkt an der
Exception-Stelle stehen und du siehst im Callstack direkt die Fehlerstelle: