This is the mail archive of the gdb@sources.redhat.com 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: Driving gdb from a front end: how to send ctrl-c?


On Wed, Mar 17, 2004 at 08:02:47PM -0800, Marco Zandonadi wrote:
> Hello,
> I'm writing a front end for gdb that needs to work on
> Cygwin and Linux. I'm trying out Cygwin first. After
> reading several posts in the archives of this ML I
> came up with a small proof-of-concept program that:
> - sets up master and slave PTY
> - forks a process and executes gdb in it
> - sends a few commands to gdb
> 
> Everything works ok except ctrl-c. Here is the
> sequence of commands my program is sending gdb:
> - b main
> - r
> - c 
> - ctrl-c (ASCII char 3)
> 
> I can see the proper output for all commands except
> ctrl-c. I guess this is because I missed some terminal
> settings.
> 
> The other problem is that I get about 10 msgs like
> this:
> [tcsetpgrp failed in terminal_inferior: Operation not
> permitted]
> 
> I attached the small cygwin program I talked about.
> Any help will be very much appreciated.

Are you sure you want a pseudo terminal between you and GDB?

If you do that, readline will be active. If you just use a normal pipe,
readline will not be active. Also, you can not send a signal to GDB when
readline is active, since it interprets the signals.

BTW, you should really check out how CGDB/TGDB works. It does exactly
what you want. Basically, you could take TGDB and modify it to do what
you want. Obviously TGDB is not supported by the GDB people :)

Bob Rossi


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