İçeriğe geç

iOS Symbolic Breakpoint eklemek

Merhabalar bu yazımda iOS uygulamalarınızda hata ayıklama işleminde size kolaylık sağlayacak symbolic breakpoint oluşturmayı göstereceğim.

Breakpoint işlemi bildiğiniz gibi eklediğiniz satır üzerinde Xcode debug mod başlatır. Bu işlemi bazı durumlarda tetikleyebiliriz. Örneğin Navigation push veya Constraints hatalarında otomatik olarak debug moda düşürme yapabiliriz. Bu işlemleride Xcode üzerinde Symbolic breakpoint ekleyerek gerçekleştiriyoruz.

Aracımızın sol üst köşesinde Show the breakpoint navigator sekmesine geldikten sonra aşağıdan Symbolic Breakpoint seçeneğini seçiyoruz.

Örneğin bir UINavigationController Push işlemi gerçekleşince uygulamayı otomatik olarak debug moda sokalım.

Bunun için symbolic breakpoint kısmındaki symbolic kısmına

-[UINavigationController pushViewController:animated:]

ekleyip onaylıyoruz. Daha sonrasında otomatik crash işlemi gerçekleşecektir.

(lldb) po $arg1
<UINavigationController: 0x7fb8f4065e00>

(lldb) po (SEL)$arg2
"pushViewController:animated:"

(lldb) po $arg3
<podTester.ViewController2: 0x7fb8f5012760>

(lldb)

Bunun dışında otomatik olarak Constraints breakpoint ekleyelim.

UIViewAlertForUnsatisfiableConstraints
(lldb) po $arg1
<NSLayoutConstraint:0x600001f18b90 UILayoutGuide:0x60000054c380'UIViewSafeAreaLayoutGuide'.bottom == UIView:0x7fa24c004770.bottom + 419   (active)>

(lldb) po $arg2
<__NSArrayM 0x60000327ab20>(
<NSLayoutConstraint:0x600001f18a50 'UIViewSafeAreaLayoutGuide-top' V:|-(32)-[UILayoutGuide:0x60000054c380'UIViewSafeAreaLayoutGuide']   (active, names: '|':UIView:0x7fa24c010950 )>,
<NSLayoutConstraint:0x600001f18af0 'UIViewSafeAreaLayoutGuide-bottom' V:[UILayoutGuide:0x60000054c380'UIViewSafeAreaLayoutGuide']-(21)-|   (active, names: '|':UIView:0x7fa24c010950 )>,
<NSLayoutConstraint:0x600001f18b90 UILayoutGuide:0x60000054c380'UIViewSafeAreaLayoutGuide'.bottom == UIView:0x7fa24c004770.bottom + 419   (active)>,
<NSLayoutConstraint:0x600001f18be0 UIView:0x7fa24c004770.top == UILayoutGuide:0x60000054c380'UIViewSafeAreaLayoutGuide'.top + 40   (active)>,
<NSLayoutConstraint:0x600001f19130 'UIView-Encapsulated-Layout-Height' UIView:0x7fa24c010950.height == 375   (active)>
)

(lldb)

Yararlı gördüğüm diğer bir breakpoint Collection View Layout boyutlarındaki sorunlar sonucu tetiklenir.

UICollectionViewFlowLayoutBreakForInvalidSizes

 

 

 

Tarih:Debugging

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2021 Kenan Atmaca