mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 15:39:30 +02:00
Add InternalExceptionBreakPoints property to LazDebuggerFp properties.
This commit is contained in:
parent
3149c5261f
commit
0375bb8ae9
@ -2795,13 +2795,23 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFpDebugExceptionStepping.DoProcessLoaded;
|
procedure TFpDebugExceptionStepping.DoProcessLoaded;
|
||||||
|
var
|
||||||
|
InternalExceptionBPSettings: TInternalExceptionBreakPoints;
|
||||||
begin
|
begin
|
||||||
FBreakEnabled := [];
|
FBreakEnabled := [];
|
||||||
FBreakNewEnabled := [];
|
FBreakNewEnabled := [];
|
||||||
debuglnEnter(DBG_BREAKPOINTS, ['>> TFpDebugDebugger.SetSoftwareExceptionBreakpoint FPC_RAISEEXCEPTION' ]);
|
debuglnEnter(DBG_BREAKPOINTS, ['>> TFpDebugDebugger.SetSoftwareExceptionBreakpoints' ]);
|
||||||
FBreakPoints[bplRaise] := FDebugger.AddBreak('FPC_RAISEEXCEPTION');
|
InternalExceptionBPSettings := TFpDebugDebuggerProperties(FDebugger.GetProperties).InternalExceptionBreakPoints;
|
||||||
|
|
||||||
|
if ieBreakErrorBreakPoint in InternalExceptionBPSettings then
|
||||||
FBreakPoints[bplBreakError] := FDebugger.AddBreak('FPC_BREAK_ERROR');
|
FBreakPoints[bplBreakError] := FDebugger.AddBreak('FPC_BREAK_ERROR');
|
||||||
|
|
||||||
|
if ieRunErrorBreakPoint in InternalExceptionBPSettings then
|
||||||
FBreakPoints[bplRunError] := FDebugger.AddBreak('FPC_RUNERROR');
|
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[bplReRaise] := FDebugger.AddBreak('FPC_RERAISE', nil, False);
|
||||||
FBreakPoints[bplPopExcept] := FDebugger.AddBreak('FPC_POPADDRSTACK', nil, False);
|
FBreakPoints[bplPopExcept] := FDebugger.AddBreak('FPC_POPADDRSTACK', nil, False);
|
||||||
FBreakPoints[bplCatches] := FDebugger.AddBreak('FPC_CATCHES', nil, False);
|
FBreakPoints[bplCatches] := FDebugger.AddBreak('FPC_CATCHES', nil, False);
|
||||||
@ -2823,6 +2833,7 @@ begin
|
|||||||
{$EndIf}
|
{$EndIf}
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
end;
|
||||||
debuglnExit(DBG_BREAKPOINTS, ['<< TFpDebugDebugger.SetSoftwareExceptionBreakpoint' ]);
|
debuglnExit(DBG_BREAKPOINTS, ['<< TFpDebugDebugger.SetSoftwareExceptionBreakpoint' ]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ type
|
|||||||
|
|
||||||
{ TFpDebugDebuggerProperties }
|
{ TFpDebugDebuggerProperties }
|
||||||
|
|
||||||
TFpDebugDebuggerProperties = class(TDebuggerProperties)
|
TFpDebugDebuggerProperties = class(TCommonDebuggerProperties)
|
||||||
private
|
private
|
||||||
FAutoDeref: Boolean;
|
FAutoDeref: Boolean;
|
||||||
FConsoleTty: string;
|
FConsoleTty: string;
|
||||||
@ -133,6 +133,7 @@ type
|
|||||||
property HandleDebugBreakInstruction: TFpInt3DebugBreakOptions read FHandleDebugBreakInstruction write FHandleDebugBreakInstruction default [dboIgnoreAll];
|
property HandleDebugBreakInstruction: TFpInt3DebugBreakOptions read FHandleDebugBreakInstruction write FHandleDebugBreakInstruction default [dboIgnoreAll];
|
||||||
property IntrinsicPrefix: TFpIntrinsicPrefix read FIntrinsicPrefix write FIntrinsicPrefix default ipColon;
|
property IntrinsicPrefix: TFpIntrinsicPrefix read FIntrinsicPrefix write FIntrinsicPrefix default ipColon;
|
||||||
property AutoDeref: Boolean read FAutoDeref write FAutoDeref default False;
|
property AutoDeref: Boolean read FAutoDeref write FAutoDeref default False;
|
||||||
|
property InternalExceptionBreakPoints;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user