FpDebug: Linux, do not modify running processes (in case of deInternalContinue, some processes may not be paused)

git-svn-id: trunk@61875 -
This commit is contained in:
martin 2019-09-14 14:27:44 +00:00
parent c7fae55176
commit 4be5e94e3e

View File

@ -1040,7 +1040,8 @@ begin
exit; exit;
end; end;
AThread.NextIsSingleStep:=SingleStep; if TDbgLinuxThread(AThread).FIsPaused then // in case of deInternal, it may not be paused and can be ignored
AThread.NextIsSingleStep:=SingleStep;
// check other threads if they need a singlestep // check other threads if they need a singlestep
for TDbgThread(ThreadToContinue) in FThreadMap do for TDbgThread(ThreadToContinue) in FThreadMap do
@ -1077,6 +1078,7 @@ begin
end; end;
end; end;
if TDbgLinuxThread(AThread).FIsPaused then // in case of deInternal, it may not be paused and can be ignored
if HasInsertedBreakInstructionAtLocation(AThread.GetInstructionPointerRegisterValue) then begin if HasInsertedBreakInstructionAtLocation(AThread.GetInstructionPointerRegisterValue) then begin
TempRemoveBreakInstructionCode(AThread.GetInstructionPointerRegisterValue); TempRemoveBreakInstructionCode(AThread.GetInstructionPointerRegisterValue);
TDbgLinuxThread(AThread).FIsSteppingBreakPoint := True; TDbgLinuxThread(AThread).FIsSteppingBreakPoint := True;
@ -1108,6 +1110,7 @@ begin
end; end;
end; end;
if TDbgLinuxThread(AThread).FIsPaused then // in case of deInternal, it may not be paused and can be ignored
if not FIsTerminating then begin if not FIsTerminating then begin
fpseterrno(0); fpseterrno(0);
//AThread.BeforeContinue; //AThread.BeforeContinue;