Understanding Apple Debug Info
smileykeith.com·3h·

Apple platforms (macOS, iOS, etc), and specifically Mach-O binaries, have a slightly different approach to debug info than ELF binaries for Linux. If you are familiar with Xcode, you might have seen a few related settings that control what is produced and wondered what the trade-offs are. The goal of this post is to help you debug cases where these differences lead to a degraded debugging experience in lldb so that you can fix them.

If you have a particularly complex build, potentially managed by Bazel1 or another tool, especially if you are using distributed builds, you are even more likely to hit issues.

Let’s dive in to how the pieces fit together.

A brief explanation of debug info

Debug info is metadata produced by the compiler that is consumed by debuggers (l…

Similar Posts

Loading similar posts...