Debugging X with GDB

Adam Jackson ajax at nwnk.net
Mon Jan 11 07:21:12 PST 2010


On Mon, 2010-01-11 at 16:26 +0200, Jonathan Morton wrote:
> On Mon, 2010-01-11 at 09:01 -0500, Daniel Jacobowitz wrote:
> > On Sun, Jan 10, 2010 at 07:42:16PM -0500, Bernie Innocenti wrote:
> > > <airlied> I think X might change TTY state and piss gdb off
> > 
> > I'd imagine this is it, but it's impossible to tell without debugging
> > the TTY state.
> > 
> > When you hit ^C, that doesn't necessarily cause anything to happen.
> > The TTY subsystem sees ^C, and may or may not generate a SIGINT to the
> > foreground process group depending on the tty settings; try checking
> > using stty -F, for instance.  Then the foreground process group is X,
> > not GDB; if the SIGINT is blocked or ignored, it won't be delivered,
> > so GDB can't intercept it at delivery.
> > 
> > Using ^C is not always reliable.
> 
> A good trick might be to run X+gdb via SSH or a serial console.  This is
> then immune to VT switching semantics.

This is the normal way people gdb X, yes.  If you tried to attach gdb to
the X server that's hosting the xterm that's running the gdb, you'd
deadlock.

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://lists.x.org/archives/xorg-devel/attachments/20100111/3e832fdc/attachment.pgp 


More information about the xorg-devel mailing list