fpdebug: fixed TDbgWinProcess.Continue if aThread invalid return false

git-svn-id: trunk@50885 -
This commit is contained in:
mattias 2015-12-17 22:08:19 +00:00
parent 269420bf8c
commit 03c19a6402
2 changed files with 7 additions and 7 deletions

View File

@ -1245,9 +1245,9 @@ end;
destructor TDbgThread.Destroy;
begin
FProcess.ThreadDestroyed(Self);
FRegisterValueList.Free;
FreeAndNil(FRegisterValueList);
ClearCallStack;
FCallStackEntryList.Free;
FreeAndNil(FCallStackEntryList);
inherited;
end;

View File

@ -496,9 +496,10 @@ function TDbgWinProcess.Continue(AProcess: TDbgProcess; AThread: TDbgThread;
begin
if assigned(AThread) then
begin
if not FThreadMap.HasId(AThread.ID) then
if not FThreadMap.HasId(AThread.ID) then begin
AThread.Free;
else begin
exit(false);
end else begin
AThread.NextIsSingleStep:=SingleStep;
if SingleStep or assigned(FCurrentBreakpoint) then
TDbgWinThread(AThread).SetSingleStep;
@ -511,9 +512,8 @@ begin
EXCEPTION_SINGLE_STEP: begin
Windows.ContinueDebugEvent(MDebugEvent.dwProcessId, MDebugEvent.dwThreadId, DBG_CONTINUE);
end
else begin
Windows.ContinueDebugEvent(MDebugEvent.dwProcessId, MDebugEvent.dwThreadId, DBG_EXCEPTION_NOT_HANDLED);
end;
else
Windows.ContinueDebugEvent(MDebugEvent.dwProcessId, MDebugEvent.dwThreadId, DBG_EXCEPTION_NOT_HANDLED);
end;
result := true;
end;