Description

See the UDN.

I suggest we add an option to resolve symbols for FMallocProfiler offline for iOS when running on a Mac.

We can symbolicate offline when running on a Mac using the atos command (See Comments).

See SERIALIZE_SYMBOL_INFO in FMallocProfiler.h and also PS4SymbolParser.cs in MemoryProfiler2 for an example of how we do this for another platform.

SERIALIZE_SYMBOL_INFO should be disabled by default for iOS but it should be possible for a developer to enable it. When MemoryProfiler2 is launched on a PC (ie without access to atos which is Mac only), opening an iOS memory trace without symbols already resolved, it should inform the user to either run on a Mac, or to enable SERIALIZE_SYMBOL_INFO for and capture again.

I would recommend running atos only once with either the -f option with all the addresses to resolve in a file, or provide the list of addresses to resolve to it on stdin.

Steps to Reproduce

In Project settings check the two "Generate dSym" options and "Generate .udebugsymbols" and then package the project.
Use the .udebugsymbols with the malloc profiler memory dump (.mprof) in MemoryProfiler2 tool.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-50381 in the post.

0
Login to Vote

Fixed
ComponentUE - Platform - Mobile
Affects Versions4.18
Target Fix4.19
Fix Commit3786652
Main Commit3793429
Release Commit3813083
CreatedSep 27, 2017
ResolvedDec 4, 2017
UpdatedSep 16, 2019
View Jira Issue