================
@@ -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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits