After #44, macOS minidumps almost work perfectly, except that they appear to be missing a module entry for dyld, which means the last few frames under main don't get processed properly:
...
14 diskwrite!std::rt::lang_start + 0x40
x19 = 0x00000001026f8060 x20 = 0x000000010249db14
x21 = 0x0000000102864070 x22 = 0x0000000000000000
x23 = 0x0000000000000000 x24 = 0x0000000000000000
x25 = 0x000000016d962230 x26 = 0x0000000149e04301
x27 = 0x0000000000000000 x28 = 0x0000000000000000
fp = 0x000000016d963020 sp = 0x000000016d962fe0
pc = 0x00000001024a39d8
Found by: call frame info
15 diskwrite!main + 0x1c
x19 = 0x00000001026f8060 x20 = 0x000000010249db14
x21 = 0x0000000102864070 x22 = 0x0000000000000000
x23 = 0x0000000000000000 x24 = 0x0000000000000000
x25 = 0x000000016d962230 x26 = 0x0000000149e04301
x27 = 0x0000000000000000 x28 = 0x0000000000000000
fp = 0x000000016d963030 sp = 0x000000016d963030
pc = 0x000000010249db34
Found by: call frame info
16 0x102809088
x19 = 0x00000001026f8060 x20 = 0x000000010249db14
x21 = 0x0000000102864070 x22 = 0x0000000000000000
x23 = 0x0000000000000000 x24 = 0x0000000000000000
x25 = 0x000000016d962230 x26 = 0x0000000149e04301
x27 = 0x0000000000000000 x28 = 0x0000000000000000
fp = 0x000000016d963180 sp = 0x000000016d963040
pc = 0x000000010280908c
Found by: call frame info
17 0x102809088
sp = 0x000000016d963190 pc = 0x000000010280908c
Found by: previous frame's frame pointer
...
LLDB (on a different binary) shows the last frame being the start symbol from dyld:
frame #18: 0x0000000100001240 test`std::rt::lang_start::h5b57405ebf269449 + 48
frame #19: 0x000000010000140c test`main + 32
frame #20: 0x000000010007508c dyld`start + 520
and shows dyld loaded between the main binary and libSystem.B.dylib:
[ 0] 6C610B65-C8E1-31D7-8359-A31DDA460F58 0x0000000100000000 /Users/sfackler/test
[ 1] D9C2A46E-8DC4-3950-9D6A-F799E8CCB683 0x0000000100070000 /usr/lib/dyld
[ 2] BF249051-3A83-36E9-A2D5-6D798639C80E 0x00000001994d1000 /usr/lib/libSystem.B.dylib
...
After #44, macOS minidumps almost work perfectly, except that they appear to be missing a module entry for
dyld, which means the last few frames undermaindon't get processed properly:LLDB (on a different binary) shows the last frame being the
startsymbol fromdyld:and shows
dyldloaded between the main binary andlibSystem.B.dylib: