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: Can I use -exec-interrupt to stop the inferior program?


I had the same problem a while ago..
I wrote a driver in, C, that received "commands" from the java
application and performed actions in the GDB. There was only 2
"commands" CMD and SIG.
Explaining by example
If I send CMDlist my driver will remove the CMD and send list to GDB,
if I send SIG my driver will send a SIGINT to GDB... it should be
SIGsigno where signo is the number of the signal but not implemented
yet.
In java I have a class that encapsulate the driver and has 2 methods:
sendCommand(String command)
sendSignal(int signo)

If you want I can send you the driver and my java code.

The driver only work in linux


Eduardo


On 5/15/06, Nikolay Molchanov <Nikolay.Molchanov@sun.com> wrote:
Hello!

I'm looking for a solution how to stop the inferior program,
which is running under gdb. I can stop it using ^C, but I
need a solution, that will work for the following case:

 Java application
      |   ^
 stdin |   | stdout
      v   |
 GDB debugger (gdb --i mi --tty /dev/pts/2 ...)
      |  ^
      v  |
 Inferior program  <--> External terminal (/dev/pts/28)


The action to stop the program is initiated by Java application, which cannot send ^C to the external terminal. So I have to use stdin to tell gdb to stop the inferior program. But gdb does not read the "-exec-interrupt" command, until the program is stopped


sside-linux nikm/t1-exec-interrupt> gdb --i mi --tty /dev/pts/2 t2pl ~"GNU gdb 6.1\n" ~"Copyright 2004 Free Software Foundation, Inc.\n" ~"GDB is free software, covered by the GNU General Public License, and you are\n" ~"welcome to change it and/or distribute copies of it under certain conditions.\n" ~"Type \"show copying\" to see the conditions.\n" ~"There is absolutely no warranty for GDB. Type \"show warranty\" for details.\n" ~"This GDB was configured as \"x86_64-suse-linux\"..." ~"Using host libthread_db library \"/lib64/tls/libthread_db.so.1\".\n" ~"\n" (gdb) run &"run\n" -exec-interrupt ^done,reason="exited",exit-code="0100" (gdb) ^error,msg="mi_cmd_exec_interrupt: Inferior not executing." (gdb)


Perhaps "-exec-interrupt" does not work in gdb 6.1? If that's correct, can you tell me which version supports "-exec-interrupt"?

Thanks in advance,
Nikolay Molchanov




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