Eric Pouech : winedbg: Try to detect jump (potentially thunk code) while getting the status.

Alexandre Julliard julliard at winehq.org
Mon Jan 10 10:55:24 CST 2011


Module: wine
Branch: master
Commit: c22eaccd15b8e4113361c5e0cf0679c5abc2acb3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c22eaccd15b8e4113361c5e0cf0679c5abc2acb3

Author: Eric Pouech <eric.pouech at orange.fr>
Date:   Sat Jan  8 14:09:03 2011 +0100

winedbg: Try to detect jump (potentially thunk code) while getting the status.

---

 programs/winedbg/symbol.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/programs/winedbg/symbol.c b/programs/winedbg/symbol.c
index 6602785..60e1c55 100644
--- a/programs/winedbg/symbol.c
+++ b/programs/winedbg/symbol.c
@@ -535,7 +535,15 @@ enum dbg_line_status symbol_get_function_line_status(const ADDRESS64* addr)
 
     /* do we have some info for lin address ? */
     if (!SymFromAddr(dbg_curr_process->handle, lin, &disp64, sym))
+    {
+        ADDRESS64   jumpee;
+        /* some compilers insert thunks in their code without debug info associated
+         * take care of this situation
+         */
+        if (be_cpu->is_jump((void*)lin, &jumpee))
+            return symbol_get_function_line_status(&jumpee);
         return dbg_no_line_info;
+    }
 
     switch (sym->Tag)
     {




More information about the wine-cvs mailing list