Yes, lldb doesn't share a terminal with the target the way gdb does (swapping control back and forth when the target stops & restarts.) Instead it creates pty's for the target, and uses those. If you need to debug a command-line program that's making use of the terminal, you should launch it in a terminal and attach to it. On darwin, you can use the -tty option to "process launch" to get lldb to do this for you. This may not work in an ssh session, however.
Jim > On Dec 19, 2014, at 7:33 AM, Jay Foad <jay.f...@gmail.com> wrote: > > Hi, > > I've noticed that an inferior running in the same terminal as lldb > doesn't seem to be able to get the terminal size with TIOCGWINSZ. Is > this expected? I don't have the same problem with gdb. > > Test case is below, running on Darwin 14 over an SSH connection. > > Thanks, > Jay. > > > $ cat winsz.c > #include <stdio.h> > #include <sys/ioctl.h> > #include <termios.h> > #include <unistd.h> > > int main() { > struct winsize size; > int tty = isatty(0); > int ret = ioctl(0, TIOCGWINSZ, &size); > printf("tty %d ret %d row %d col %d\n", tty, ret, size.ws_row, size.ws_col); > } > $ clang -o winsz winsz.c > $ ./winsz > tty 1 ret 0 row 24 col 80 > $ lldb winsz > (lldb) target create "winsz" > Current executable set to 'winsz' (x86_64). > (lldb) run > Process 43730 launched: '/Users/jay/winsz' (x86_64) > tty 1 ret 0 row 0 col 0 > Process 43730 exited with status = 0 (0x00000000) > (lldb) > _______________________________________________ > lldb-dev mailing list > lldb-dev@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev