From 3254177a335458ee269c8f54f03ca8ccde19d34c Mon Sep 17 00:00:00 2001 From: martin Date: Sun, 8 Sep 2019 19:03:05 +0000 Subject: [PATCH] LazDebuggerFp: check correct thread (only top frame) when getting register values git-svn-id: trunk@61836 - --- components/lazdebuggers/lazdebuggerfp/fpdebugdebugger.pas | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/lazdebuggers/lazdebuggerfp/fpdebugdebugger.pas b/components/lazdebuggers/lazdebuggerfp/fpdebugdebugger.pas index e4c53d0189..0427dbc0e9 100644 --- a/components/lazdebuggers/lazdebuggerfp/fpdebugdebugger.pas +++ b/components/lazdebuggers/lazdebuggerfp/fpdebugdebugger.pas @@ -1089,11 +1089,16 @@ var ARegisterList: TDbgRegisterValueList; i: Integer; ARegisterValue: TRegisterValue; + thr: TDbgThread; begin if (Debugger = nil) or not(Debugger.State in [dsPause, dsInternalPause, dsStop]) then exit; - ARegisterList := TFpDebugDebugger(Debugger).FDbgController.CurrentThread.RegisterValueList; + if not TFpDebugDebugger(Debugger).FDbgController.MainProcess.GetThread(ARegisters.ThreadId, thr) then begin + ARegisters.DataValidity:=ddsError; + exit; + end; + ARegisterList := thr.RegisterValueList; for i := 0 to ARegisterList.Count-1 do begin ARegisterValue := ARegisters.EntriesByName[ARegisterList[i].Name];