Commit 9a28dbfb authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: Check that dwarf unwinder did actually unwind.

parent 80a9c0ef
......@@ -611,7 +611,8 @@ static BOOL fetch_next_frame(struct cpu_stack_walk *csw, union ctx *pcontext,
DWORD64 cfa;
RUNTIME_FUNCTION* rtf;
DWORD64 base;
CONTEXT *context = &pcontext->ctx;
CONTEXT *context = &pcontext->ctx;
DWORD64 input_Rip = context->Rip;
if (!curr_pc || !(base = sw_module_base(csw, curr_pc))) return FALSE;
rtf = sw_table_access(csw, curr_pc);
......@@ -620,7 +621,7 @@ static BOOL fetch_next_frame(struct cpu_stack_walk *csw, union ctx *pcontext,
{
return interpret_function_table_entry(csw, context, rtf, base);
}
else if (dwarf2_virtual_unwind(csw, curr_pc, pcontext, &cfa))
else if (dwarf2_virtual_unwind(csw, curr_pc, pcontext, &cfa) && input_Rip != context->Rip)
{
context->Rsp = cfa;
TRACE("next function rip=%016Ix\n", context->Rip);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment