La risposta è stata molto più semplice di quanto immaginassi. Il modo più semplice per farlo è semplicemente aggiungere un punto di interruzione nella dichiarazione delle proprietà. Il debugger si interromperà ogni volta che la proprietà viene letta o scritta.
Se, come me, si desidera interrompere solo quando la proprietà viene modificata e ignorare i recuperi, impostare un punto di interruzione nella dichiarazione di proprietà, quindi accedere alla console LLDB e digitare "lista br" per visualizzare un elenco di tutti punti di interruzione:
(lldb) br list
Current breakpoints:
1: file = '/Users/testuser/Desktop/TestFoo/Test.swift', line = 12, locations = 3, resolved = 3, hit count = 1
1.1: where = TestFoo`TestFoo.Test.x.getter : Swift.Int + 12 at Test.swift:12, address = 0x00000001084cfefc, resolved, hit count = 1
1.2: where = TestFoo`TestFoo.Test.x.setter : Swift.Int + 16 at Test.swift:12, address = 0x00000001084cff80, resolved, hit count = 0
1.3: where = TestFoo`TestFoo.Test.x.materializeForSet : Swift.Int + 16 at Test.swift:12, address = 0x00000001084d00f0, resolved, hit count = 0
Come potete vedere, c'è un punto di interruzione master "1" con tre sotto-punti di interruzione. Disabilitare il sub-punto di interruzione per il getter:
(lldb) br disable 1.1
1 breakpoints disabled.
ed è tutto pronto. Il debugger si interromperà solo quando quella proprietà viene modificata.