So to clear things up: -t or --tty will attempt to launch the process in a _separate_terminal_window_ (open a new terminal window and launch your process within it so the process gets its own window and we don't have to shared IO) and should never be used with -n (--no-stdio). If they currently can be run together then this is a bug. --tty isn't supported on Linux as far as I know and the linux launch code should return an error saying this isn't supported. The --tty option is designed to be used when you want to debug anything that uses curses (emacs, vi, etc) and where having a different terminal window with its own stdin/out/err is required.
--no-stdio should, as you surmised, launch a process with /dev/null as the stdin/out/err. It also means we should always have a prompt. To to summarize: (lldb) process launch ... No LLDB prompt while running as all input goes to process (though if CTRL+C is pressed and we will stop the target for you) (lldb) process launch --tty -- ... LLDB prompt always visible, process launches in a different terminal window, not supported on linux, should never be used with --no-stdio and if our options allow it, this is a bug (lldb) process launch --no-stdio -- ... LLDB prompt always visible (if not, then a bug, probably only on the linux side). Let me know if I > On May 15, 2014, at 1:53 AM, Matthew Gardiner <[email protected]> wrote: > > Matthew Gardiner wrote: >> Greg Clayton wrote: >>> If we launch a process and hookup a pty to its stdin/out/err, then we >>> shouldn't get a prompt. >> Sorry, I don't understand this. Surely if we attach the inferior's (i.e. >> what you termed the process) standard IOs to a pty, then we *will* get a >> prompt, since then lldb can use it's terminal with no corruption from the >> inferiors in/out? >> >> (I'm not actually clear about the relationship between the "process launch" >> -t and -n commands. I do accept that they are mutually exclusive. I assume, >> -n means that the stdin/out/err of the inferior is closed, so that lldb has >> complete use of the foreground, so it could use it's prompt. I assume -t >> means attach the inferior to a different pty, so again, lldb should still be >> able to use it's prompt.) >>> It is probably a bug where if you launch with --no-stdio that the LLDB >>> prompt isn't always active. >>> >>> For attach, we will always have a prompt. >>> >>> So seems this is a bug that --no-stdio is still pushing a Process IOHandler >>> and taking over the console while the process is running. >> So you are saying if I do >> (lldb) process launch -s --no-stdio >> then >> (lldb) process continue >> >> then I should always see: >> (lldb) >> back on my terminal? >> >> Todd, could you try this (a couple of times, in case I'm seeing something >> intermittent) please, to see if your observations agree? >> >> thanks >> Matt > Hi Greg, > > Actually, my colleague just brought his MacBook (OSX 10.9.2) into work, this > morning. He installed pre-built xcode/lldb (lldb-310.2.37) on his Mac, and I > can confirm that on mac, when we invoked: > > (lldb) process launch -s -n > Process 1002 lanched.... > (lldb) process continue > Process 1002 resuming > (lldb) > > then we see the interpreter prompt return after the "continue". So what I > reported originally is a linux build bug. (Perhaps I'll start digging into > this, if I get any time...). > > However, using "process launch -s -t" on the mac, was buggy, a > terminal-emulator was spawned, but (presumably) lldb and the child terminal > fail to synchronise using the UNIX socket. > > (lldb) process launch -s -t > error: failed to launch or debug process > (lldb) > > Anyway, sorry for my earlier rant ;-), but at least now I'm a little clearer > about the intended semantics... > > Matt > > > Member of the CSR plc group of companies. CSR plc registered in England and > Wales, registered number 4187346, registered office Churchill House, > Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom > More information can be found at www.csr.com. Keep up to date with CSR on our > technical blog, www.csr.com/blog, CSR people blog, www.csr.com/people, > YouTube, www.youtube.com/user/CSRplc, Facebook, > www.facebook.com/pages/CSR/191038434253534, or follow us on Twitter at > www.twitter.com/CSR_plc. > New for 2014, you can now access the wide range of products powered by aptX > at www.aptx.com. _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
