0

I have created trace file using memory leaks profile, trace got generated and I am able to view some leaks getting displayed in the trace file (Instruments Version 7.3.1) (iPhone iOS 8.3)

I have symbolized the trace file using proper DYSM and binary files In the details view of the memory leak, i am seeing only memory address and Call tree view is empty. DYSM file was generated on a different machine and imported into my machine as we have a separate build machine. FYI: Trace was generated from Appium automation. Trying to resolving this for past one day unable to find any solution. ScreenShot for reference

Update:[Tried placing app and DYSM file in the same directory still didn't work.]

Community
  • 1
  • 1
GreyndBlue
  • 331
  • 1
  • 2
  • 11
  • Did you try choosing Instrument > Call Tree Data Mining > Locate dSYM in Instruments to find the dSYM file? – Swift Dev Journal Aug 29 '17 at 19:09
  • @MarkSzymczyk Call Tree Data Mining is disabled under Instruments menu. – GreyndBlue Aug 31 '17 at 06:47
  • You have to be in the call tree view (like your second screenshot) to enable the call tree data mining menu items. – Swift Dev Journal Aug 31 '17 at 18:44
  • @MarkSzymczyk Being in the call tree view didn't enable the call tree data mining menu :( – GreyndBlue Sep 01 '17 at 12:48
  • That's where you locate a dSYM file in Instruments. I would recommend rebuilding and profiling the project on your machine. My guess is copying the dSYM to your machine is causing the problem. – Swift Dev Journal Sep 01 '17 at 20:16
  • So I have to locate dSYM file when I am in call tree view? Is there any other settings that's should be done while recording the trace file. This trace was made to generated when the Appium iOS automation was running. – GreyndBlue Sep 02 '17 at 04:14

1 Answers1

0

Since you mentioned in a comment you were using Appium to generate Instruments trace files, I can switch to an answer now. Profile your project from Xcode by choosing Product > Profile in Xcode. I'm pretty sure that will fix your issue.

If you are still getting memory addresses instead of function names after profiling from Xcode, you will have to locate the dSYM file in Instruments. Choose Instrument > Call Tree Data Mining > Locate dSYM to locate the dSYM file. The dSYM file is usually in the same directory as the application bundle of the release version of your project. You have to be in the call tree view in Instruments to enable the menu items for locating dSYM files.

Swift Dev Journal
  • 19,282
  • 4
  • 56
  • 66
  • Thank you for the response, I am generating the build in a different machine and imported dSYM file into my machine. Above mentioned solution should work for my situation too right? – GreyndBlue Sep 04 '17 at 12:33
  • @SumukhThej I have never copied a dSYM file from another machine so I can't tell you if my answer will work for your situation. Why can't you build and profile the project on your machine? You have spent nearly a week looking for a solution when you could have built and profiled the project on your machine in an hour or less. – Swift Dev Journal Sep 04 '17 at 20:56
  • Appium version which we are using supports Xcode 7 for running automation and we are using Xcode 8 for building, so we have a different build machine. – GreyndBlue Sep 06 '17 at 11:37
  • @SumukhThej I have not used Appium so I can't provide any advice there. I have given you all the knowledge I have about getting function names to appear in Instruments. If you are unable or unwilling to profile your project from Xcode on your machine, I have nothing left to tell you. – Swift Dev Journal Sep 06 '17 at 17:44