diff --git a/symbol/symbol_resolve.cpp b/symbol/symbol_resolve.cpp index 9cb0089aac23214e7eb346c8fe1cfc72f256fb28..fd6dc661cdad913b6cad86c242a9cfb8dd3434a4 100644 --- a/symbol/symbol_resolve.cpp +++ b/symbol/symbol_resolve.cpp @@ -463,7 +463,9 @@ void MyDwarf::FindLine(unsigned long addr, struct DwarfEntry &entry) for (auto &range : rangeList) { if (range.IsInLineTable(addr)) { range.FindLine(addr, entry); - return; + if (entry.find) { + return; + } } } } @@ -488,7 +490,9 @@ void MyDwarf::LoadDwarf(unsigned long addr, DwarfEntry& entry) loadNum++; if (range.IsInLineTable(addr)) { range.FindLine(addr, entry); - return; + if (entry.find) { + return; + } } } hasLoad = true;