<div dir="auto"><div dir="ltr"><div>Hi,</div><div>I am trying to figure out the proper way of using LLDB's SBLaunchInfo class:</div><div></div><div>When I launch a process via CLI interpreter, it seems to receive all of the environment variables inherited from shell, plus the ones I set via `target.env-vars`:</div><div><br></div><div><span style="font-family:monospace">(lldb) file /usr/bin/env<br>Current executable set to '/usr/bin/env' (x86_64).<br>(lldb) set set target.env-vars 'FOO=BAR'<br>(lldb) run<br>Process 12733 launched: '/usr/bin/env' (x86_64)<br>FOO=BAR<br>GDM_LANG=en_US<br>CINNAMON_SOFTWARE_RENDERING=1<br>MUFFIN_NO_SHADOWS=1<br><the rest of my environment variables><br>Process 12733 exited with status = 0 (0x00000000) </span><br></div><div><br></div><div>But when I launch via SB API, it looks like only the values explicitly added to launch_info are passed to the debuggee:<br></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace">(lldb) script from lldb import *<br>(lldb) script t = lldb.debugger.CreateTarget('/usr/bin/env')<br>(lldb) script li = SBLaunchInfo([])<br>(lldb) script li.SetEnvironmentEntries(['FOO=BAR'], True)<br>(lldb) script t.Launch(li, SBError())<br><lldb.SBProcess; proxy of <Swig Object of type 'lldb::SBProcess *' at 0x7fbc674ea0f0> ><br>FOO=BAR<br>Process 13331 exited with status = 0 (0x00000000) <br></span></div><div><br></div><div>Is this how it's supposed to work?   If so, I can certainly add all inherited env vars to launch_info myself, but it isn't clear what to do in the case of remote debugging, because I couldn't find any way of retrieving environment from the remote machine.</div><div dir="auto"><br></div></div></div>