================ @@ -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