How to use atos given MXCallStackTree output?

I'm unable to find any documentation on how to use atos given the content within an MXCrashDiagnostic's json representation but I think I have worked through most of it.

From this documentation here I have identified that this is the atos command I'm looking for.

% atos -arch <BinaryArchitecture> -o <PathToDSYMFile>/Contents/Resources/DWARF/<BinaryName> -l <LoadAddress> <AddressesToSymbolicate>

Using the following from my app AppNameHere this is what I extracted:
  • platformArchitecture (arm64e) from the diagnostic's metadata

  • Load Address (offset) 0x4332388352

  • Address 0x4332421432

  • UUID ACF5E4F6-EDD8-36C3-A650-58C53D4D66A7

Code Block
[
{
"binaryUUID": "432C7D54-5315-3EC7-A3BE-A48E873736A7",
"offsetIntoBinaryTextSegment": 6762471424,
"sampleCount": 1,
"subFrames": [
{
"binaryUUID": "ACF5E4F6-EDD8-36C3-A650-58C53D4D66A7",
"offsetIntoBinaryTextSegment": 4332388352,
"sampleCount": 1,
"subFrames": [
{
"binaryUUID": "9B2D02A4-C9C0-3CAF-BBD2-C1BCEE117E8E",
"offsetIntoBinaryTextSegment": 6727446528,
"sampleCount": 1,
"binaryName": "libdyld.dylib",
"address": 6727450176
}
],
"binaryName": "AppNameHere",
"address": 4332421432
}
],
"binaryName": "UIKitCore",
"address": 6774548544
}
]


I did not have a .dSYM file with this UUID, but after I went to Xcode Organizer and downloaded bitcode generated symbols I had a .dSYM that matched this UUID.

So finally this is the command I created:
atos -arch arm64 -o acf5e4f6-edd8-36c3-a650-58c53d4d66a7.dSYM/Contents/Resources/DWARF/AppNameHere -l 0x4332388352 0x0000004332909892

Trial by fire, the numbers in the dump are decimal, you need to convert them to hex. The documentation doesn't specify the format of the 'address' of 'offset'.

Code Block
edorphy$ atos -arch arm64 -o acf5e4f6-edd8-36c3-a650-58c53d4d66a7.dSYM/Contents/Resources/DWARF/AppNameHere -l 1023B0000 10242F544
atos[84639]: respawning is disabled (because DYLD_ROOT_PATH or DT_NO_RESPAWN is set), but the analysis process does not match the SDK variant of the target process 0.
Analysis of malloc zones may fail.
AppDelegate.initializeApplication(application:) (in AppNameHere) (UserAgreementManager.swift:37)


Does anyone know how to get rid of the respawning message, or is that expected?

I noticed that the arch is arm64e in the report, but the dwarfdump of the .dSYM says just arm64. It seemed to make no difference specifying with the 'e' or not.

Replies

meet the same question. atos cannot run successful