This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
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