From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 51229 invoked by alias); 26 Feb 2019 14:42:01 -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 51212 invoked by uid 89); 26 Feb 2019 14:42:01 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=supplier, H*c:alternative, customer X-HELO: mail-io1-f47.google.com Received: from mail-io1-f47.google.com (HELO mail-io1-f47.google.com) (209.85.166.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 26 Feb 2019 14:41:59 +0000 Received: by mail-io1-f47.google.com with SMTP id x3so10636652ior.6 for ; Tue, 26 Feb 2019 06:41:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=undo-io.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TOLYDbGDG7XYuISoMWMtXP2PCwZOAjLzA9dtizFnLeA=; b=eed9x2mRJS+LzOO8r5srcvKa+h4SIJXUv+044N6viLazX3XcTYbkKqJ1gMrUXzXQpJ OVvMGaP5nntSufeQuGOZOlSsq9kJYLvHV0BFt9fnGI0+wCmchcisaa4h4MaP+7TwtFZP 9OO9gaNWIY9AqRekK9vNtkPg0lDf5+gig0bL7gtRzMypL1UqxzZwxpY8VnPBQViq9vR7 BVo1yiF1HpnuBhod7+XzdvPF1yi8dJxUUUWAKhQxfMaCPI0Te08fak6UudNsgKI6RKJn Y6VXMc5SrjF4jxYb0ofpnt6MyA28rFVuHHUQnagTC/f00DSZ6epVgPPcA5x0FDyENQrI qBAg== MIME-Version: 1.0 References: <20190226073236.GD10887@embecosm.com> <20190226101245.GA1496753@host1.jankratochvil.net> <2ba972bc-9e4f-c1ac-fe93-786b44e3ae3c@samersoff.net> In-Reply-To: <2ba972bc-9e4f-c1ac-fe93-786b44e3ae3c@samersoff.net> From: David Griffiths Date: Tue, 26 Feb 2019 14:42:00 -0000 Message-ID: Subject: Re: Is nexti confused by pushq? To: Dmitry Samersoff Cc: Jan Kratochvil , Andrew Burgess , dwk , GDB Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2019-02/txt/msg00069.txt.bz2 Thanks Dmitry, I will avoid nexti. It's pretty weird stepping through JITed code anyway, sometimes even a breakpoint/continue is not enough because it dives off into deopt functions and re-emerges in the interpreter! On Tue, 26 Feb 2019 at 14:19, Dmitry Samersoff wrote: > David, > > On 26.02.2019 14:50, David Griffiths wrote: > > Ok, so in my case this is generated code with no debug info (Java JIT > > generated) so does that mean I shouldn't attempt to use nexti? (I've got > > other issues which probably preclude using nexti anyway but just curious) > > On my experience with Java JIT (C2) produced code, it's better to avoid > using nexti. > > If you do it programmatically, you can try to mimic nexti behavior in > some cases by analyzing instructions ahead and setting breakpoint where > appropriate. > > -Dmitry > > > > > Cheers, > > > > David > > > > On Tue, 26 Feb 2019 at 10:12, Jan Kratochvil > > wrote: > > > >> On Tue, 26 Feb 2019 08:32:37 +0100, Andrew Burgess wrote: > >>> Of course, this doesn't solve the problem for you, but at least you > >>> know what's going wrong now :) > >> > >> To make it clear the debuggee has wrong/insufficient debug info, its > >> .eh_frame/.debug_frame there should annotate the push (and pop) > >> instructions. > >> > >> > >> Jan > >> > > > > > -- David Griffiths, Senior Software Engineer Undo | Resolve even the most challenging software defects with software flight recorder technology Software reliability report: optimizing the software supplier and customer relationship