================
@@ -72,21 +99,29 @@ BreakpointLocationsRequestHandler::Run(
     }
   }
 
-  // The line entries are sorted by addresses, but we must return the list
-  // ordered by line / column position.
-  std::sort(locations.begin(), locations.end());
-  locations.erase(llvm::unique(locations), locations.end());
+  return locations;
+}
 
-  std::vector<protocol::BreakpointLocation> breakpoint_locations;
-  for (auto &l : locations) {
-    protocol::BreakpointLocation lc;
-    lc.line = l.first;
-    lc.column = l.second;
-    breakpoint_locations.push_back(std::move(lc));
+std::vector<std::pair<uint32_t, uint32_t>>
+BreakpointLocationsRequestHandler::GetAssemblyBreakpointLocations(
+    int64_t sourceReference, uint32_t start_line, uint32_t end_line) const {
+  std::vector<std::pair<uint32_t, uint32_t>> locations;
+  lldb::SBAddress address(sourceReference, dap.target);
+  if (!address.IsValid())
+    return locations;
+
+  lldb::SBSymbol symbol = address.GetSymbol();
----------------
da-viper wrote:

Try checking if it is in a function with `address.GetFunction` and `IsValid` to 
have context before checking symbol

https://github.com/llvm/llvm-project/pull/139969
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to