Re: winedbg: suppress bogus clone() frames in backtrace
Am 26.11.2015 um 09:25 schrieb Daniel Santos:
Signed-off-by: Daniel Santos <daniel.santos(a)pobox.com> --- 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
participants (1)
-
Ralf Habacker