From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14493 invoked by alias); 9 Dec 2005 08:05:18 -0000 Received: (qmail 14486 invoked by uid 22791); 9 Dec 2005 08:05:17 -0000 X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 09 Dec 2005 08:05:16 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11/8.12.11) with ESMTP id jB985EPr003077 for ; Fri, 9 Dec 2005 03:05:14 -0500 Received: from opsy.redhat.com (vpn50-39.rdu.redhat.com [172.16.50.39]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id jB985DV19838; Fri, 9 Dec 2005 03:05:13 -0500 Received: by opsy.redhat.com (Postfix, from userid 500) id BAB3B2DC17C; Fri, 9 Dec 2005 00:58:57 -0700 (MST) To: Michael Snyder Cc: gdb-patches@sources.redhat.com Subject: Re: [RFA] checkpoint / restart, and multi-fork debugging References: <439614B1.2030206@redhat.com> From: Tom Tromey Reply-To: tromey@redhat.com X-Attribution: Tom Date: Fri, 09 Dec 2005 14:23:00 -0000 In-Reply-To: <439614B1.2030206@redhat.com> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2005-12/txt/msg00164.txt.bz2 >>>>> "Michael" == Michael Snyder writes: Michael> OK, ready for submission. Michael> This patch adds two new functionalities for linux native debugging: Michael> * Multiple fork debugging, and Michael> * Checkpoint / Restart. I know nothing about the patch of course, but this looks like an excellent feature. One thing that amazes me about it is that it is conceptually simple but I don't recall ever hearing it as an idea until recently. One thing I didn't see mentioned in the docs is the effect on gdb of a 'restart'. I assume that new breakpoints, watchpoints, etc, are kept instead of reverting to the state at the checkpoint. Maybe this is worth mentioning. A nice problem this solves is handling watchpoints when the system has address space randomization. I run into this all the time when debugging -- back before this feature was added to the OS I would put a fair amount of effort into finding some address to watch in one debug session, then restart the inferior with a watchpoint set. Randomization made this impossible; but with this patch I could just make a checkpoint at 'main'. Tom