Re: Why aren't inferiors deleted on exit or detach

Yao Qi <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 05/07/2014 04:16 AM, Breazeal, Don wrote:
> I've been struggling with the issue of when to delete inferiors, as I'm 
> working on remote follow-fork.  It looks like inferiors are kept around 
> after a process exits or is detached or killed so that the user can 
> switch to the inferior and run it again.  The argument vector for the 
> inferior is kept intact on exit/detach/etc.
> 
> Is my understanding here correct?

Yes, I think so.
https://sourceware.org/gdb/onlinedocs/gdb/Inferiors-and-Programs.html
mentions that "Inferiors may be created before a process runs, and may
be retained after a process exits." and "After the successful completion
of a command such as detach, detach inferiors, kill or kill inferiors,
or after a normal process exit, the inferior is still valid and listed
with info inferiors, ready to be restarted."

> 
> With "follow-fork parent" and "detach-on-fork on", GDB does *not* keep 
> an inferior around for the detached child.  My guess is that this is 
> because the child inferior would just be a duplicate of the parent inferior.
> 
> Correct?

I am not the people write this part of code, but afaik, GDB doesn't add
inferior into its table in this case, because these two options setting
mean after a fork, the original process is debugged and child process
will be detached, so GDB doesn't have to save child process in its
inferior table.

-- 
Yao (齐尧)
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.