[lldb-dev] Different Behavior between Terminal and GUI simulated terminal

jingham at apple.com jingham at apple.com
Fri Oct 4 09:26:44 PDT 2013


Sorry, that's not what I meant.   The message I was referring to was in the thread "Async vs. sync" and I said:

The way the command line lldb works at present is that if you attach to a process (or run it with the stdio put to another terminal via the -tty option) then lldb runs in asynchronous mode. E.g.:

> lldb -n Calendar
Attaching to process with:
   process attach -n "Calendar"
Process 211 stopped
Executable module set to "/Applications/Calendar.app/Contents/MacOS/Calendar".
Architecture set to: x86_64-apple-macosx.
(lldb) c
Process 211 resuming

>>> I still have a command prompt, so for instance I can check status and interrupt

(lldb) process status
Process 211 is running.
(lldb) process interrupt
Process 211 stopped
* thread #1: tid = 0x0703, function: mach_msg_trap , stop reason = signal SIGSTOP
   frame #0: 0x00007fff8e531686 libsystem_kernel.dylib`mach_msg_trap
libsystem_kernel.dylib`mach_msg_trap + 10:
-> 0x7fff8e531686:  ret    
  0x7fff8e531687:  nop    

So we are running the command interpreter in "asynchronous" mode.  

So you see you will either get a prompt right away or not depending on how you start up the process you are debugging.  Note that if you use the --tty option or the --no-stdio when you launch a process you will also be in asynchronous mode.  But if you do an ordinary "process launch" with no options, you won't get a prompt till the process stops.

Jim



On Oct 4, 2013, at 9:07 AM, Yin Ma <yin at affinic.com> wrote:

> Hi Jim,
> 
> I double checked that there is only one lldb launched for sure.
> I did ps -ax | grep lldb, there is only one process listed.
> 
> Thanks,
> 
> Yin 
> 
> -----Original Message-----
> From: jingham at apple.com [mailto:jingham at apple.com] 
> Sent: Friday, October 04, 2013 8:41 AM
> To: Yin Ma
> Cc: lldb-dev at cs.uiuc.edu
> Subject: Re: [lldb-dev] Different Behavior between Terminal and GUI simulated terminal
> 
> Did you launch the two processes in the same way in both cases?  It looks like in the first instance lldb is running synchronously, and in the second instance asynchronously.  I sent a note to the list a couple of days ago describing when lldb uses the two modes, check that and see if it explains what you are seeing.  Otherwise, this may be some bug in the input driver?
> 
> Jim
> 
> On Oct 3, 2013, at 11:30 PM, Yin Ma <yin at affinic.com> wrote:
> 
>> Hi,
>> 
>> I got different behavior between run lldb under regular terminal
>> And GUI simulated terminal (posix_openpt or pipe based).
>> 
>> In the regular terminal:
>> (lldb) run
>> Process 10992 launched: ‘…’
>> Process 10992 stopped
>> Thread …
>> 
>> In the GUI, If I run the same thing, I got
>> (lldb) run
>> Process 10992 launched: ‘…’
>> (lldb) Process 10992 stopped
>> Thread …
>> 
>> There already is (lldb) after the first line.
>> 
>> My lldb is 179.5
>> Could anybody let me know why there is this difference?
>> And How to switch to the regular mode?
>> 
>> Thanks,
>> 
>> Yin
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 





More information about the lldb-dev mailing list