From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7931 invoked by alias); 18 May 2006 12:32:42 -0000 Received: (qmail 7922 invoked by uid 22791); 18 May 2006 12:32:40 -0000 X-Spam-Check-By: sourceware.org Received: from py-out-1112.google.com (HELO py-out-1112.google.com) (64.233.166.177) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 18 May 2006 12:32:36 +0000 Received: by py-out-1112.google.com with SMTP id s49so689526pyc for ; Thu, 18 May 2006 05:32:34 -0700 (PDT) Received: by 10.35.97.17 with SMTP id z17mr484425pyl; Thu, 18 May 2006 05:32:34 -0700 (PDT) Received: by 10.35.11.15 with HTTP; Thu, 18 May 2006 05:32:34 -0700 (PDT) Message-ID: <214135380605180532w34d1c82ewed3ee860554647b@mail.gmail.com> Date: Thu, 18 May 2006 16:19:00 -0000 From: "Carlos Eduardo Rodrigues de Almeida" To: gdb@sourceware.org Subject: Re: Can I use -exec-interrupt to stop the inferior program? In-Reply-To: <4468F31E.8090805@Sun.COM> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <4468F31E.8090805@Sun.COM> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-05/txt/msg00275.txt.bz2 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 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=3D"exited",exit-code=3D"0100" > (gdb) > ^error,msg=3D"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 > >