2015-04-17 17 views
28

Próbuję dodać punkt przerwania w linii #, ale nie dodano punktu przerwania, gdy robię to na placu zabaw. Czy to możliwe, czy istnieje inny sposób ustawiania pułapek na placu zabaw?Punkt przerwania debugowania w Swift Playground?

enter image description here

+2

Całe pojęcie przerwania jest diametralnie całego pojęcia co to jest plac zabaw. - A w każdym razie, co byś zrobił, gdybyś mógł zatrzymać się w punkcie przerwania? Nie ma też debuggera! – matt

+0

Chciałbym zobaczyć wartość zmiennych w tym punkcie. – TruMan1

+3

W kolumnie po prawej stronie kodu powinna pojawić się wartość każdego wyrażenia podczas wykonywania wiersza kodu. Jeśli jest wykonywany wiele razy, zobaczysz tylko "(10 razy)", ale możesz kliknąć niebieską kropkę i zobaczyć wartości w czasie, albo jako wykres, albo listę: –

Odpowiedz

22

Nie ma debugger więc nie można dodawać żadnych punktów przerwania.

1

Matt, nie mogłem wpisać kodu w komentarzach, więc tutaj jest lepszy widok użycia zmiennej na linii, aby "debugować" ją.

for index in 1...5 { 
    dosomething(foo); 
    foo; 
} 

Następnie można kliknąć gałkę oczną po prawej stronie, aby zobaczyć historię foo, która została zmodyfikowana w pętli.

+1

C-styl dla pętle są historią –

+0

Kliknięcie gałki ocznej nie działa dla mnie (XCode 7.2.1)? –

+0

W kolumnie po prawej stronie dla każdego obliczenia na placu zabaw powinien być przycisk, który daje wyskakujące okienko. Możesz przełączać różne tryby. Mój przykład został zrobiony w xcode 7. – netskink

0

Po prostu mam mokre stopy w Swift, ale myślę, że pomysł na plac zabaw to pokazanie zmieniającego się stanu, tak jakbyś prowadził debugowanie i rejestrował wszystkie zmienne zmiany. Nie ma rzeczywista potrzeba punktu przerwania, ponieważ można zobaczyć stan w dowolnym "momencie w czasie". Wydaje mi się, że przyzwyczajenie się do tego zajmie mi trochę czasu, ponieważ korzystałem z debuggera przez> 30 lat, ale powinno być całkiem użyteczne dla małych fragmentów izolowanego kodu testowego, zwłaszcza gdy uczę się tego języka.

0

Jeśli chcesz wstrzymać wykonywanie placu zabaw, aby sprawdzić, co się dzieje, możesz użyć sleep. Informacje, które możesz uzyskać, nie są tak szczegółowe, jak to, co możesz uzyskać z lldb. Aby uzyskać te informacje, musisz dodać import Foundation w górnej części swojego placu zabaw.

Następnie, gdzie chcesz, aby wstrzymać wykonanie, można dodać to:

sleep(10) // 10 second pause...you can make the number whatever you want

Powiązane problemy