LazDebugger, lldb: more step continue from except

git-svn-id: trunk@58937 -
This commit is contained in:
martin 2018-09-10 22:17:51 +00:00
parent de9dc6c952
commit df5198c067

View File

@ -258,7 +258,6 @@ type
procedure LockRelease; override;
procedure UnlockRelease; override;
procedure QueueCommand(const ACommand: TLldbDebuggerCommand);
procedure SetState(const AValue: TDBGState);
//procedure DoState(const OldState: TDBGState); override;
//procedure DoBeforeState(const OldState: TDBGState); override;
function DoExceptionHit(AExcClass, AExcMsg: String): Boolean;
@ -999,6 +998,7 @@ end;
constructor TLldbDebuggerCommandRun.Create(AOwner: TLldbDebugger);
begin
AOwner.FExceptionInfo.FAtExcepiton := False;
FState := crRunning;
FMode := cmRun;
FFramePtrAtStart := AOwner.FCurrentThreadFramePtr;
@ -1907,10 +1907,13 @@ end;
constructor TLldbDebuggerCommandRunStep.Create(AOwner: TLldbDebugger;
AStepAction: TLldbInstructionProcessStepAction);
var
AtExcepiton: Boolean;
begin
AtExcepiton := Debugger.FExceptionInfo.FAtExcepiton;
FStepAction := AStepAction;
inherited Create(AOwner);
if Debugger.FExceptionInfo.FAtExcepiton and
if AtExcepiton and
(AStepAction in [saOver, saInto, saOut])
then
FMode := cmRunToCatch;
@ -2390,13 +2393,6 @@ begin
FCommandQueue.QueueCommand(ACommand);
end;
procedure TLldbDebugger.SetState(const AValue: TDBGState);
begin
if AValue = dsRun then
FExceptionInfo.FAtExcepiton := False;
inherited;
end;
function TLldbDebugger.DoExceptionHit(AExcClass, AExcMsg: String): Boolean;
begin
FExceptionInfo.FAtExcepiton := True;