Consume ProfiledFrameSymbols.

Fix up type confusion.
Use batch interface for symbolizer.

Bug: 138725313
Change-Id: If7f8d5f2e738438704ecfc0e971c48df5b7f5e92
diff --git a/tools/trace_to_text/local_symbolizer.cc b/tools/trace_to_text/local_symbolizer.cc
index 5e64728..8b219a4 100644
--- a/tools/trace_to_text/local_symbolizer.cc
+++ b/tools/trace_to_text/local_symbolizer.cc
@@ -151,7 +151,7 @@
   void* ptr_;
 };
 
-bool ParseLine(std::string line, std::string* file_name, uint64_t* line_no) {
+bool ParseLine(std::string line, std::string* file_name, uint32_t* line_no) {
   base::StringSplitter sp(std::move(line), ':');
   if (!sp.Next())
     return false;
@@ -161,7 +161,7 @@
   char* endptr;
   auto parsed_line_no = strtoll(sp.cur_token(), &endptr, 10);
   if (parsed_line_no >= 0)
-    *line_no = static_cast<uint64_t>(parsed_line_no);
+    *line_no = static_cast<uint32_t>(parsed_line_no);
   return *endptr == '\0' && parsed_line_no >= 0;
 }
 
@@ -340,6 +340,13 @@
       }
     }
   }
+
+  for (auto it = result.begin(); it != result.end();) {
+    if (it->function_name == "??")
+      it = result.erase(it);
+    else
+      ++it;
+  }
   return result;
 }
 std::vector<std::vector<SymbolizedFrame>> LocalSymbolizer::Symbolize(