Strange... The timings.
But I can't currently test myself. I have lldb under Linux, but they are all older and don't have the issue (I need to setup a new VM, and get an uptodate lldb, and hope it exposes the issue....
You can check in menu: View > Ide Internals > Debug output
In which order commands are sent to lldb.
But I was sure the command would have been sent first.
Maybe it is needed global (the call takes a boolean flag for that).
Maybe it is indexing something else before...
Can the setting be given on the command line?
You can try
procedure TLldbDebugger.Init;
var
Cmd: TLldbDebuggerCommandInit;
begin
FDebugProcess.CreateDebugProcess('', Environment);
...
Replace the empty string (first param) with whatever would be the setting.
Problem here, the IDE would not know what lldb version it is launching => so it can't conditionally apply this.
Then it might break older lldb.
As for "keeping lldb running". You can try to change
function TLldbDebugger.NeedReset: Boolean;
begin
Result := true;
end;
to false. IIRC then it should (hopefully) keep it running. Not sure how well that will work. (It must have been a problem back when I added it)
Mind, that the article may be talking about lldb-dab (an lldb server like....) While the IDE just uses the command line lldb.