[go: up one dir, main page]

Today I Learned

tags


2023/09/28

Executables, dynamic libraries and debug companions on all Apple platforms use the Mach Object, or short Mach-O, container format. This applies to iOS, iPadOS, tvOS, watchOS, and macOS.

  • Executables do not carry a file extension. For desktop applications, they are often placed in app bundle structures with the .app suffix. Unless stripped manually, executables contain unwind information and a symbol table. Debug information is never stored in executables.
  • Dynamic Libraries use the .dylib extension, and otherwise behave exactly the same as executables.
  • Debug Companions are placed in a folder structure with the .dSYM extension, and are located at <name>.dSYM/Contents/Resources/DWARF/<name>. They usually contain a symbol table and debug information, but rarely unwind information.

https://docs.sentry.io/platforms/apple/data-management/debug-files/file-formats/