mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-11 09:39:11 +02:00
fp-lldb debugger: fix hint evaluation / make sure registers are read first. Issue #034229
git-svn-id: trunk@58894 -
This commit is contained in:
parent
7c2ce1cc23
commit
b65618119a
@ -136,7 +136,6 @@ var
|
|||||||
DBG_VERBOSE, DBG_ERRORS: PLazLoggerLogGroup;
|
DBG_VERBOSE, DBG_ERRORS: PLazLoggerLogGroup;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
TFPLldbWatches = class;
|
TFPLldbWatches = class;
|
||||||
|
|
||||||
{ TFpLldbDebuggerCommandEvaluate }
|
{ TFpLldbDebuggerCommandEvaluate }
|
||||||
@ -786,6 +785,14 @@ begin
|
|||||||
EvalFlags := TDBGEvaluateFlags(AParams[1].VInteger);
|
EvalFlags := TDBGEvaluateFlags(AParams[1].VInteger);
|
||||||
Result := False;
|
Result := False;
|
||||||
if (HasDwarf) then begin
|
if (HasDwarf) then begin
|
||||||
|
Threads.CurrentThreads.Count; // trigger threads, in case
|
||||||
|
if Registers.CurrentRegistersList[CurrentThreadId, CurrentStackFrame].Count = 0 then begin // trigger register, in case
|
||||||
|
Registers.CurrentRegistersList[CurrentThreadId, CurrentStackFrame].Count;
|
||||||
|
while DebugInstructionQueue.RunningInstruction <> nil do begin // TODO: use a callback
|
||||||
|
Application.ProcessMessages;
|
||||||
|
sleep(30);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
Result := EvaluateExpression(nil, String(AParams[0].VAnsiString),
|
Result := EvaluateExpression(nil, String(AParams[0].VAnsiString),
|
||||||
ResText, ResType, EvalFlags);
|
ResText, ResType, EvalFlags);
|
||||||
if EvalFlags * [defNoTypeInfo, defSimpleTypeInfo, defFullTypeInfo] = [defNoTypeInfo]
|
if EvalFlags * [defNoTypeInfo, defSimpleTypeInfo, defFullTypeInfo] = [defNoTypeInfo]
|
||||||
|
Loading…
Reference in New Issue
Block a user