diff options
Diffstat (limited to 'source/Breakpoint/BreakpointResolverName.cpp')
-rw-r--r-- | source/Breakpoint/BreakpointResolverName.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/Breakpoint/BreakpointResolverName.cpp b/source/Breakpoint/BreakpointResolverName.cpp index 27f85653d648..c82dd5ee050b 100644 --- a/source/Breakpoint/BreakpointResolverName.cpp +++ b/source/Breakpoint/BreakpointResolverName.cpp @@ -289,7 +289,17 @@ BreakpointResolverName::SearchCallback } else if (sc.symbol) { - break_addr = sc.symbol->GetAddress(); + if (sc.symbol->GetType() == eSymbolTypeReExported) + { + const Symbol *actual_symbol = sc.symbol->ResolveReExportedSymbol(m_breakpoint->GetTarget()); + if (actual_symbol) + break_addr = actual_symbol->GetAddress(); + } + else + { + break_addr = sc.symbol->GetAddress(); + } + if (m_skip_prologue && break_addr.IsValid()) { const uint32_t prologue_byte_size = sc.symbol->GetPrologueByteSize(); |