Same as gdb, minus the 'corrupt stack?' message.
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- programs/winedbg/stack.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/programs/winedbg/stack.c b/programs/winedbg/stack.c index f49480a..519aa69 100644 --- a/programs/winedbg/stack.c +++ b/programs/winedbg/stack.c @@ -322,6 +322,15 @@ static void backtrace(void) dbg_curr_thread->curr_frame < dbg_curr_thread->num_frames; dbg_curr_thread->curr_frame++) { + if (dbg_curr_thread->curr_frame > 0 && + !memcmp(&dbg_curr_thread->frames[dbg_curr_thread->curr_frame].addr_frame, + &dbg_curr_thread->frames[dbg_curr_thread->curr_frame-1].addr_frame, + sizeof(ADDRESS64))) + { + dbg_printf("Backtrace stopped: previous frame identical to this frame\n"); + break; + } + dbg_printf("%s%d ", (cf == dbg_curr_thread->curr_frame ? "=>" : " "), dbg_curr_thread->curr_frame);