From: Ralf Habacker Subject: Re: winedbg: suppress bogus clone() frames in backtrace Message-Id: <56580E45.5020001@freenet.de> Date: Fri, 27 Nov 2015 09:03:17 +0100 In-Reply-To: <1448526324-24893-1-git-send-email-daniel.santos@pobox.com> References: <1448526324-24893-1-git-send-email-daniel.santos@pobox.com> Am 26.11.2015 um 09:25 schrieb Daniel Santos: > Signed-off-by: Daniel Santos > --- > programs/winedbg/stack.c | 27 ++++++++++++++++++++++----- > 1 file changed, 22 insertions(+), 5 deletions(-) > > diff --git a/programs/winedbg/stack.c b/programs/winedbg/stack.c > index f49480a..8ef2dbc 100644 > --- a/programs/winedbg/stack.c > +++ b/programs/winedbg/stack.c > @@ -307,6 +307,11 @@ static void stack_print_addr_and_args(int nf) > im.ModuleName, (DWORD_PTR)(ihsf.InstructionOffset - im.BaseOfImage)); > } > > +static int addr_is_nonzero(const ADDRESS64 *addr) > +{ > + return addr->Offset && (addr->Mode != AddrModeFlat || addr->Segment); > +} > + > /****************************************************************** > * backtrace > * > @@ -322,12 +327,24 @@ static void backtrace(void) > dbg_curr_thread->curr_frame < dbg_curr_thread->num_frames; > dbg_curr_thread->curr_frame++) > { > - dbg_printf("%s%d ", > - (cf == dbg_curr_thread->curr_frame ? "=>" : " "), > - dbg_curr_thread->curr_frame); > - stack_print_addr_and_args(dbg_curr_thread->curr_frame); > + const unsigned nf = dbg_curr_thread->curr_frame; > + const ADDRESS64 *addr = &dbg_curr_thread->frames[nf].addr_frame; > + > + /* suppress bogus clone() frames from repeating */ Hi, any idea if the mentioned bug have the same reason https://bugs.winehq.org/show_bug.cgi?id=39606 Regards Ralf