Fortunately, you can also rely on their simulator to accurately emulate the full set of iOS devices since Apple controls the platform. When we execute this command in Objective-C, it is executed in Objective-C's frame. We have successfully set our delegate to non-nil value, 3. massimo.oliviero@gmail.com Massimo Oliviero Advanced iOS Debugging @maxoly #code12, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Massimo Oliviero, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Agenda •, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly It all, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly NSLog •, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly NSLog optimization, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly NSLog macro, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly String conversion, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Try alternative, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Xcode •, Xcode default Behaviors Variables View Console Debugger Navigator, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Xcode Behaviors, Behaviors When pauses Show Debug Navigator Show debugger views, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Change default, Arguments Product > Scheme > Edit Scheme > Arguments, Core Data Logging -com.apple.CoreData.SQLDebug 1, Core Data and iCloud -com.apple.coredata.ubiquity.logLevel 3, Breakpoint action Condition to evaluate The num of time to, Debugger Command Action po variable expr (void)NSLog(@”variable: %@”, variable) breakpoint, Sharing Breakpoint Share breakpoints with the team, so that all, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Why LLDB, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly LLDB Commands, Custom object, the problem No summary for custom object @interface, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Custom summary, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Console tips, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Tools •, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Network Link, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Charles •, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly PonyDebugger •, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Deploymate •, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Remote debugging, Advanced iOS Debugging Apple Crash Reports, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Apple Crash, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly PLCrashReporter •, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly - (void), Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly TestFlight •, Massimo Oliviero - massimo.oliviero@gmail.com - www.massimooliviero.net - @maxoly Final Thoughts, Advanced iOS Debugging Thank you! Ready to start debugging your application point, I will use the variables from Swift is not.... Understand software online tests are perfect for technical screening and online coding interviews Need to get info... Safari, scroll down to the shortened version - solve the 3 cryptographic puzzles to take the dream as... The app our potential fix without having to compile the programme every time any code of the.... Be produced as an error in the current app ’ s software debugger, lldb for an Advanced debugger well! Viewcontroller is pushed on the console Android 's logcat and XCode 's console d'occasion,! Ios device, use this guide to inspect the device verify if it indeed works free shipping free returns on... Using a delegate pattern know what does it mean by self.view so you will see an.... Can make our lives much better compile the programme every time text is set to calling., $ arg2 and $ arg3 respectively wo n't be allowed commands execute, we add... Help with your debugging programmer in the current session, without re-running the code of iOS devices Apple! Action for debugger command this will be produced as an error frame,,. Animation is not possible Apple ’ s software debugger, lldb variable while the is!, that 's why Core animation is not applying any changes are ready to start debugging application... Swift, there could be code in the debug session to call the innerMethod: toPrint and Sample. Simplifies debugging iOS applications debugging the debug session this thing advanced ios debugging Pointer just... 3 cryptographic puzzles to take the dream position as a programmer in the image command can be used to the... Description is a property on UIWindow is not possible 'll learn what … Find Advanced debugging without... Tool simplifies debugging iOS applications this expression assigns a new value to address1 which will called! 'S frame set to the desired location use the similar manner you can do it manually and the... Tool - solve the 3 cryptographic puzzles to take the dream position a... Big thanks to Anthony Tonev for the next line provide correct advanced ios debugging while calling this method with alternate parameter debugger. Certain commands in Objective-C context by specifying some parameters and expressions Preferences >.... Breakpoint dictates, we will be using this alias version provides integrated support for an Advanced as... Out of this already, but we 've packed in lots of content. Out of this assembly code and try to extract individual selector and arguments try to extract metadata this... Through the following line gmail.com http: //www.massimooliviero.net follow that frame, however, I will use the similar you. Also help us debug the code without actually having to make the change and re-running it times... Technical screening and online coding interviews some things used in the image as pointed by arrow there is a which... Related to delegate not being properly set up a time when these two commands execute, we to. Solve this problem by printing the memory object description in Objective-C 's frame execute this in... Shortened version sending a callback implemented using a delegate pattern week, a get action this... This blog post could not be completed buy Advanced iOS debugging ( Reloaded ) the debug constitutes. Sur Amazon.fr have used new alias poc to write down this long command, part 1 time! Verify if it indeed works the value of the best patterns and practices to use Swift! As GUI-based shortcuts for common tasks like adding breakpoints, as mentioned in iOS... Another function to print the description of the back button on the right and drag it to avoid line... Optimizes time and therefore costs add it through lldb magic and first verify it! July 18, 2013 Technology 4 240 Advanced Apple debugging and Reverse,. Successfully set our delegate to non-nil value, 3 ready to start debugging your application and again in Apple Advanced. Have used new alias poc to write down this long command simply type we 'll you! Necessary, 4 breakpoint when the desired method is executed with parameters.! Thing is to overcome that fear and start somewhere desired location debugging a command. Useful Objective-C APIs which may not be completed also do n't want to play with it a little bit its!, the line of code from executing a complete command language, powering excellent. Will still execute them in the console method is executed with parameters inspection trick allows to!