Adrian Gallero from TMS Software has a blog post up where he explains how to use the Xcode Instruments tool to find memory leaks in your Delphi XE5 and XE6 Firemonkey apps on IOS. TMS Software makes quite a few component sets for Firemonkey. Basically Delphi XE5, Delphi XE6, and AppMethod apps for IOS get compiled down into Xcode compatible LLVM backend and debug information. What this means is that you can probably use all of the Xcode Instruments tools like Allocations, Leaks, Activity Monitor, Zombies, Time Profiler, System Trace, and Automation. The blog post focuses on the Leaks tool and demonstrates how you can take your IOS app that is already on the IOS device (and compiled in Debug mode) and target it with the Leaks tool. You will see all of your Delphi class names and method names just like if you were debugging in Delphi itself. The call stack is displayed along a timeline and will show where there are memory leaks. Finally at the end of the blog post he explains how to use the [WEAK] attribute to fix the memory leak he created between a Parent and a Child object. Using Xcode Instruments does require that you have your device connected to the Mac you are running Xcode on so if you use MacInCloud this will not work for you. However, in another blog post I’ve covered how you can use NSLog to write out debug information to the IOS console as a second way for debugging IOS apps created in Delphi.
1 Comment