[Lldb-commits] [lldb] r202525 - Fixed all overlapping prompt issues.

Greg Clayton gclayton at apple.com
Mon Mar 3 10:05:44 PST 2014


This might be happening because you guys don't actually hookup stdin/out/err on FreeBSD to the child process? If so, then I know why this is happening.

On Feb 28, 2014, at 11:37 AM, Ed Maste <emaste at freebsd.org> wrote:

> On 28 February 2014 13:22, Greg Clayton <gclayton at apple.com> wrote:
>> Author: gclayton
>> Date: Fri Feb 28 12:22:24 2014
>> New Revision: 202525
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=202525&view=rev
>> Log:
>> Fixed all overlapping prompt issues.
>> 
>> I carefully reviewed exactly how the IOHandlers interact and found places where we weren't properly controlling things. There should be no overlapping prompts and all output should now come out in a controlled fashion.
>> 
>> <rdar://problem/16111293>
> 
> Hi Greg,
> 
> After this change I still encountered an issue on FreeBSD where the
> (lldb) prompt preceeded the stop reason and frame info output (leaving
> me with no prompt on the current line):
> 
> joule% bin/lldb /bin/ls
> Current executable set to '/bin/ls' (x86_64).
> (lldb) b main
> Breakpoint 1: where = ls`main + 33 at ls.c:163, address = 0x00000000004023f1
> (lldb) run
> Process 13033 launching
> Process 13033 stopped
> Process 13033 launched: '/bin/ls' (x86_64)
> Process 13033 stopped
> * thread #1: tid = 100685, 0x00000000004023f1 ls`main(argc=1,
> argv=0x00007fffffffd760) + 33 at ls.c:163, stop reason = breakpoint
> 1.1
>    frame #0: 0x00000000004023f1 ls`main(argc=1,
> argv=0x00007fffffffd760) + 33 at ls.c:163
>   160  #ifdef COLORLS
>   161          char termcapbuf[1024];  /* termcap definition buffer */
>   162          char tcapbuf[512];      /* capability buffer */
> -> 163          char *bp = tcapbuf;
>   164  #endif
>   165
>   166          (void)setlocale(LC_ALL, "");
> (lldb) step
> (lldb) Process 13033 stopped
> * thread #1: tid = 100685, 0x00000000004023fa ls`main(argc=1,
> argv=0x00007fffffffd760) + 42 at ls.c:166, stop reason = step in
>    frame #0: 0x00000000004023fa ls`main(argc=1,
> argv=0x00007fffffffd760) + 42 at ls.c:166
>   163          char *bp = tcapbuf;
>   164  #endif
>   165
> -> 166          (void)setlocale(LC_ALL, "");
>   167
>   168          /* Terminal defaults to -Cq, non-terminal defaults to -1. */
>   169          if (isatty(STDOUT_FILENO)) {




More information about the lldb-commits mailing list