Add InternalExceptionBreakPoints property to LazDebuggerFp properties.

This commit is contained in:
ccrause 2024-02-25 17:08:16 +02:00 committed by Martin
parent 3149c5261f
commit 0375bb8ae9
2 changed files with 38 additions and 26 deletions

View File

@ -2795,13 +2795,23 @@ begin
end;
procedure TFpDebugExceptionStepping.DoProcessLoaded;
var
InternalExceptionBPSettings: TInternalExceptionBreakPoints;
begin
FBreakEnabled := [];
FBreakNewEnabled := [];
debuglnEnter(DBG_BREAKPOINTS, ['>> TFpDebugDebugger.SetSoftwareExceptionBreakpoint FPC_RAISEEXCEPTION' ]);
FBreakPoints[bplRaise] := FDebugger.AddBreak('FPC_RAISEEXCEPTION');
debuglnEnter(DBG_BREAKPOINTS, ['>> TFpDebugDebugger.SetSoftwareExceptionBreakpoints' ]);
InternalExceptionBPSettings := TFpDebugDebuggerProperties(FDebugger.GetProperties).InternalExceptionBreakPoints;
if ieBreakErrorBreakPoint in InternalExceptionBPSettings then
FBreakPoints[bplBreakError] := FDebugger.AddBreak('FPC_BREAK_ERROR');
if ieRunErrorBreakPoint in InternalExceptionBPSettings then
FBreakPoints[bplRunError] := FDebugger.AddBreak('FPC_RUNERROR');
if ieRaiseBreakPoint in InternalExceptionBPSettings then
begin
FBreakPoints[bplRaise] := FDebugger.AddBreak('FPC_RAISEEXCEPTION');
FBreakPoints[bplReRaise] := FDebugger.AddBreak('FPC_RERAISE', nil, False);
FBreakPoints[bplPopExcept] := FDebugger.AddBreak('FPC_POPADDRSTACK', nil, False);
FBreakPoints[bplCatches] := FDebugger.AddBreak('FPC_CATCHES', nil, False);
@ -2823,6 +2833,7 @@ begin
{$EndIf}
end;
{$ENDIF}
end;
debuglnExit(DBG_BREAKPOINTS, ['<< TFpDebugDebugger.SetSoftwareExceptionBreakpoint' ]);
end;

View File

@ -103,7 +103,7 @@ type
{ TFpDebugDebuggerProperties }
TFpDebugDebuggerProperties = class(TDebuggerProperties)
TFpDebugDebuggerProperties = class(TCommonDebuggerProperties)
private
FAutoDeref: Boolean;
FConsoleTty: string;
@ -133,6 +133,7 @@ type
property HandleDebugBreakInstruction: TFpInt3DebugBreakOptions read FHandleDebugBreakInstruction write FHandleDebugBreakInstruction default [dboIgnoreAll];
property IntrinsicPrefix: TFpIntrinsicPrefix read FIntrinsicPrefix write FIntrinsicPrefix default ipColon;
property AutoDeref: Boolean read FAutoDeref write FAutoDeref default False;
property InternalExceptionBreakPoints;
end;