Great content as usual, can't believe that watching this video helped me debug a weird bug(I did not even know where to start before), thanks so much for producing great content, that'd normally be expensive to access
You can also do "expression -l objc -O -- [`self.view` recursiveDescription]" if you've hit a breakpoint inside a UIViewController. The "`self.view`" is Swift code, the rest is Objective-C format. Idk why TH-cam is adding a strikethrough format but it's dash l and dash O.
Wow Finally you did it Afraz. Thanks a lot brother. You are generous and genuine. Looking forward to learn a tons of iOS stuffs from you. Again Thanks a lot and means a lot as I was requesting you couple of times.
@@iOSAcademy You are doing phenomenal and Your iOS Academy will be the best learning resources on iOS Programing. Even I always shared this channel with my friends and co-workers. Keep reaching the Star ! Respect and Love from New York.
Great video! Hands down one of the best video I've seen on LLDB (believe me I've searched near & far :) ). Hopefully, you can make another more detailed follow-up video for advanced debugging too - with specific focus on detecting/debugging constraint issues.
If you want very in-depth and more descriptive information that you didn't even know exist, I recommend watching the Apple WWDC debugging videos, especially since 2018 it's still relevant.
Learned several things that I was not aware were available. Great start and ready to see your future debugging videos! Some topics I would like are setting breakpoints based on values and how to trace down some of these "Failed to log metrics" errors in SwiftUI. Thanks for the video!
Always love your video, I have to mention that your code and tutorials are basis of my first iOS app that I am still working on. Would also appreciate it if you can share more insights about different architectures, specifically, I heard about TCA, while I developed my app in MVVM (UIKit + SwiftUI + Combine). Some people mention that SwiftUI should not be using MVVM.
runtime injection can be really useful as well as symbolic breakpoint. Can we use symbolic breakpoint for variables? If not then whats the alternative for watch var in Xcode and how to use it.?
Hi Brother, Hope you are doing well. I have a request. I recently tried to learn about iOS login Authentication and how it works while you have a sign in option in your app and under the hood how to pass the token, where to store and how the mechanism works. I encountered this questions a lot overtime. When you get chance, please create a tutorial on top of it please please. Thanks a lot.
When I type expr -l objc -O --[UIViewController _printHierarchy], console - error: :1:2: use of undeclared identifier 'l' (My app write on swift UI). Hpw I can resolve that?
thanks for this useful video! it's only me thinking that Xcode's debugger is the worst thing ever? all the time when i'm trying to debug something he doesn't know what i want from him or what to do. i always get errors like: error: expression failed to parse: error: Couldn't realize type of self. or error: expression failed to parse: error: :2:11: error: cannot find type '$__lldb_context' in scope extension $__lldb_context { ^~~~~~~~~~~~~~~ even for the simplest code, it doesn't understand what I want from it and it's very frustrating. i can't believe the apple have such a bad product.
Great video. To avoid typing in long commands in lldb it's pretty simple to create an alias in .lldbinit. Looking into FB's chisel is also worth it it has a lot of useful stuff, ie. the print hierarchy is simply "pvc"
The expression tip for runtime injection is really useful in large code bases, a real hidden gem 💎
Thanks!
Injecting code on runtime is gonna save lot of time, really helpful techniques. Thanks.
Thanks
Great content as usual, can't believe that watching this video helped me debug a weird bug(I did not even know where to start before), thanks so much for producing great content, that'd normally be expensive to access
Glad it helped!
Printing View Hierarchy is very helpful technique in a large projects. Thanks man!
Youre welcome
You can also do "expression -l objc -O -- [`self.view` recursiveDescription]" if you've hit a breakpoint inside a UIViewController. The "`self.view`" is Swift code, the rest is Objective-C format. Idk why TH-cam is adding a strikethrough format but it's dash l and dash O.
These are awesome 🔥
Thanks!
This is a great refresher. 👍🏻
Thanks
Really helpful debugging tips. Thank you for making this video!
Youre welcome
Wow Finally you did it Afraz. Thanks a lot brother. You are generous and genuine. Looking forward to learn a tons of iOS stuffs from you. Again Thanks a lot and means a lot as I was requesting you couple of times.
Youre very welcome! Always try to do my best
@@iOSAcademy You are doing phenomenal and Your iOS Academy will be the best learning resources on iOS Programing. Even I always shared this channel with my friends and co-workers. Keep reaching the Star ! Respect and Love from New York.
I have learned something, thank you
Youre welcome
Thanks man! I found it really usefull.
Thanks so much for this content 🙏 Really helps me out
Those are really helpful tips 💪🏻
Great video! Hands down one of the best video I've seen on LLDB (believe me I've searched near & far :) ).
Hopefully, you can make another more detailed follow-up video for advanced debugging too - with specific focus on detecting/debugging constraint issues.
Thanks
If you want very in-depth and more descriptive information that you didn't even know exist, I recommend watching the Apple WWDC debugging videos, especially since 2018 it's still relevant.
very useful video. Thank you!
Youre welcome
Learned several things that I was not aware were available. Great start and ready to see your future debugging videos! Some topics I would like are setting breakpoints based on values and how to trace down some of these "Failed to log metrics" errors in SwiftUI. Thanks for the video!
Thanks
Thank you @iOS Academy, your lessons help me to become iOS developer and finally get hired
Congrats! Huge props to you and your hard work
Thanks a lot:)
Youre welcome
just awesome!
Conditional break point is another great debugging feature
Yes!
thank you so much
Youre welcome
It really surprise me when i watch the injecting expression through breakpoint scene. I wish i know that a little bit sooner hehehe, Thanks Afraz!
Youre welcome
Always love your video, I have to mention that your code and tutorials are basis of my first iOS app that I am still working on. Would also appreciate it if you can share more insights about different architectures, specifically, I heard about TCA, while I developed my app in MVVM (UIKit + SwiftUI + Combine). Some people mention that SwiftUI should not be using MVVM.
Youre welcome!
What is a frame in the debugging context?
😃Tks
Youre welcome
Hello ,I paid the subscription to get the source code but I can not fin it, can you help me
runtime injection can be really useful as well as symbolic breakpoint. Can we use symbolic breakpoint for variables? If not then whats the alternative for watch var in Xcode and how to use it.?
3:50 my designers are evil 🤣
Lol
When I throw swift error in expression nothing happens, but it works without lldb error.
Hi Brother, Hope you are doing well. I have a request. I recently tried to learn about iOS login Authentication and how it works while you have a sign in option in your app and under the hood how to pass the token, where to store and how the mechanism works. I encountered this questions a lot overtime. When you get chance, please create a tutorial on top of it please please. Thanks a lot.
🔥🔥🔥
Thanks
When I type expr -l objc -O --[UIViewController _printHierarchy], console - error: :1:2: use of undeclared identifier 'l' (My app write on swift UI). Hpw I can resolve that?
🤯🤯🤯🤯🤯
Lol thanks
thanks for this useful video!
it's only me thinking that Xcode's debugger is the worst thing ever?
all the time when i'm trying to debug something he doesn't know what i want from him or what to do.
i always get errors like:
error: expression failed to parse:
error: Couldn't realize type of self.
or
error: expression failed to parse:
error: :2:11: error: cannot find type '$__lldb_context' in scope
extension $__lldb_context {
^~~~~~~~~~~~~~~
even for the simplest code, it doesn't understand what I want from it and it's very frustrating.
i can't believe the apple have such a bad product.
(lldb) aka Thanos snapped his fingers
What is your accent?
I dont think I have one?
@@iOSAcademy Probably from USA, as they think they don't have an accent 🤣
Great video. To avoid typing in long commands in lldb it's pretty simple to create an alias in .lldbinit. Looking into FB's chisel is also worth it it has a lot of useful stuff, ie. the print hierarchy is simply "pvc"
Thanks