From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24586 invoked by alias); 16 Dec 2013 19:41:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 24577 invoked by uid 89); 16 Dec 2013 19:41:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 16 Dec 2013 19:41:28 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rBGJfP14025003 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 16 Dec 2013 14:41:25 -0500 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id rBGJfN1a028422; Mon, 16 Dec 2013 14:41:24 -0500 Message-ID: <52AF5763.9050800@redhat.com> Date: Mon, 16 Dec 2013 19:41:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: "Metzger, Markus T" CC: "jan.kratochvil@redhat.com" , "gdb-patches@sourceware.org" Subject: Re: [patch v8 23/24] record-btrace: show trace from enable location References: <1386839747-8860-1-git-send-email-markus.t.metzger@intel.com> <1386839747-8860-24-git-send-email-markus.t.metzger@intel.com> <52AB64F3.3010305@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2013-12/txt/msg00601.txt.bz2 On 12/16/2013 12:56 PM, Metzger, Markus T wrote: >> -----Original Message----- >> From: Pedro Alves [mailto:palves@redhat.com] >> Sent: Friday, December 13, 2013 8:50 PM > > >>> After adding incremental updates, we can now add a dummy record for the >> current >>> PC when we enable tracing so we show the trace from the location where >> branch >>> tracing has been enabled. >> >> Ah, awesome, I was just wondering about that. :-) >> >> I suppose one can we still access the registers when >> inspecting this dummy location, or are the btrace unwinders >> preventing that? > > You can not access registers when you are in the execution history. > > When we add this dummy record when we enable tracing, you're still > outside the execution history, so you can access registers. Also the last > instruction will be skipped for all record operations - it corresponds to > the current PC and the instruction has not been executed yet. > > But it allows us to stitch the first trace chunk to this dummy record and > thus show the full trace from the enable location. > > Internally, you're at the same PC if you are replaying and the replay > position is at the last instruction or if you are not replaying. > The different is that you will be able to access registers and memory > only if you are not replaying. OK, the question was then, would it be wrong to allow accessing registers and memory of the live program, if replaying, and at that position? Just OOC and for my education, I'm not saying it'd be a requirement. Sorry if the question sounds dumb. I can't actually try out this stuff due to broken btrace on my machine, if you'll recall. > You will also have normal dward2 frames > in that case. If you are replaying, you will have btrace frames and you > won't be able to access all registers and memory. > > In record commands, we stop replaying once we reach the last instruction. -- Pedro Alves