From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 722 invoked by alias); 7 May 2014 05:46:56 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 709 invoked by uid 89); 7 May 2014 05:46:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 07 May 2014 05:46:54 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1Whugt-0006IL-BU from Yao_Qi@mentor.com for gdb@sourceware.org; Tue, 06 May 2014 22:46:51 -0700 Received: from SVR-ORW-FEM-02.mgc.mentorg.com ([147.34.96.206]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 6 May 2014 22:46:50 -0700 Received: from qiyao.dyndns.org (147.34.91.1) by svr-orw-fem-02.mgc.mentorg.com (147.34.96.168) with Microsoft SMTP Server id 14.2.247.3; Tue, 6 May 2014 22:46:50 -0700 Message-ID: <5369C841.7090001@codesourcery.com> Date: Wed, 07 May 2014 05:46:00 -0000 From: Yao Qi User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: "Breazeal, Don" , "gdb@sourceware.org" Subject: Re: Why aren't inferiors deleted on exit or detach References: <53694328.30907@codesourcery.com> In-Reply-To: <53694328.30907@codesourcery.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2014-05/txt/msg00009.txt.bz2 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 (齐尧)