This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: MinGW gdb run in non-DOS terminal


On Mon, May 01, 2006 at 10:05:12AM -0700, Joel Brobecker wrote:
> Hello,
> 
> Starting to experiment a bit with MinGW-hosted debuggers, I noticed that
> when it is run outside of the DOS window, the terminal handling is a bit
> strange. The most obvious issue is when the debugger prints an error:
> the actual printing on screen of the error message is delayed and only
> finally printed after the next GDB prompt.
> 
> This happens when in a DOS window running cygwin bash, when ssh'ing
> from an xterm to the machine and then running GDB, or when running
> GDB from GPS, which opens a pseudo-tty (I think!) to GDB. On the other
> hand, it works great when run in a DOS window.
> 
> Has anybody else seen this? Maybe there is a missing-flush issue
> somewhere... Or maybe there is a workaround I don't know about?
> Otherwise, I'll have a look at this next.

It is roughly unsolvable.  A cygwin "terminal" is in fact a Windows
pipe; isatty() returns false, therefore the C library selects
line-buffered mode, which is a pretty standard thing for C runtimes
to do.

I suppose that if the CLI is in use, you could automatically turn off
buffering.  But there may be plenty of other problems... I talked with
Chris about somehow using Windows consoles for this instead of pipes
(i.e. changing Cygwin), and I believe the outcome of that discussion
was that it might be possible, or might not, but would definitely not
be easy.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]