lldb: rbreak does not work correctly when limiting to file

Originator:free.as.in.speech
Number:rdar://33106158 Date Originated:2017-07-03
Status: Resolved:
Product:lldb Product Version:Xcode 8.3.3
Classification: Reproducible:yes
 
Summary:
The lldb rbreak command is not finding the symbol and creating a breakpoint for a certain expression, when limited to a specific file.  See the "steps to reproduce" for more detail.

This lldb command does not create any breakpoints in the file Foo.swift:
  rbreak name.sett.* -f Foo.swift

However, both of these do create breakpoint(s) in the expected location in Foo.swift:
  rbreak name.sett.*
  rbreak name.set.* -f Foo.swift

Steps to Reproduce:
In Xcode, create a single view iOS application.  Add a file Foo.swift, with a body like this:

class Foo {
    var name: String?
}

Launch the application in the simulator.  In Xcode, press the pause button to drop into lldb.
Try to set a breakpoint for the name.setter in Foo.swift with this lldb command:

  rbreak name.sett.* -f Foo.swift

Expected Results:
Breakpoint(s) are set.

Observed Results:
Breakpoint 2: no locations (pending).
WARNING:  Unable to resolve breakpoint to any actual locations.

Version:
Xcode: Version 8.3.3 (8E3004b)
macOS: 10.12.5

Notes:
What is weird is that this does work (name.set.* instead of name.sett.*):
(lldb): rbreak name.set.* -f Foo.swift
Breakpoint 5: where = LLDBTest`LLDBTest.Foo.name.setter : Swift.Optional<Swift.String> + 156 at Foo.swift:11, address = 0x0000000108aa1bec

(lldb): breakpoint list
5: regex = 'name.set.*', locations = 1, resolved = 1, hit count = 0
  5.1: where = LLDBTest`LLDBTest.Foo.name.setter : Swift.Optional<Swift.String> + 156 at Foo.swift:11, address = 0x0000000108aa1bec, resolved, hit count = 0

Configuration:
No special config necessary

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!