bug#4437: 23.1.50; Quitting gdb leaves a process behind

[email protected] (Nick Roberts)
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
 > Start emacs with -q option, start gdb to debug any program
 > (M-x gdb RET C-a gdb -i=mi ./some-program), quit immediately by typing
 > quit RET to gdb command line (and answer "yes" to the question
 > whether to kill the process associated to the buffer) and finally list
 > processes with M-x list-processes RET.
 >
 > Expected result: no processes.
 > Actual result:
 > 
 > Proc	     Status   Buffer   Tty	   Command
 > ----	     ------   ------   ---	   -------
 > gdb-inferior run      (Killed) /dev/pts/15 
 > 
 > If I start gdb again after this, I get a new gdb-inferior<1>
 > process which again is left running when I quit gdb.

If you want to run the same, but possibly newly compiled executable it's
generally best not to quit GDB.  GDB will automatically load the new code
and it has the advantage of keeping shell history, breakpoints etc.  You
may need to change the line numbers on some breakpoints if the surrounding
code has changed. 

If you want to run a different executable then it's best to kill the GUD
buffer before starting a new session.

 > I've also seen cases where "quit" command to gdb does absolutely
 > nothing.  In at least some sub-cases, if I then say M-x list-processes
 > RET, _then_ I get the question whether to kill the process associated to
 > the buffer and if I say "yes", the debugger quits and I get "Debugger
 > finished" in the gdb buffer.

Similar problems were reported as part of bug#4375.  I'm still looking in
to it.

-- 
Nick                                           http://www.inet.net.nz/~nickrob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.