[PATCH 2/2] [WineDbg]: try to detect jump (potentially thunk code) while getting the status
Eric Pouech
eric.pouech at orange.fr
Sat Jan 8 07:09:03 CST 2011
(line debug info or not) for a given address
This will make the thunk transparent to the user. Needed to work around some thunking code emitted by msvc.
A+
---
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-patches
mailing list