Xcode documentation lists several runtime tools, including sanitizers.
Xcode provides several runtime tools to identify potential issues in your code:
- Address Sanitizer—The ASan tool identifies potential memory-related corruption issues.
- Thread Sanitizer—The TSan tool detects race conditions between threads.
- Main Thread Checker—This tool verifies that system APIs that must run on the main thread actually do run on that thread.
- Undefined Behavior Sanitizer—The UBSan tool detects divide-by-zero errors, attempts to access memory using a misaligned pointer, and other undefined behaviors.
Address Sanitizer runtime
On macOS and iOS, Address Sanitizer requires a dynamic library that contains the asan
runtime to run.
If the compiler version that a dependency framework is compiled with and the compiler version of your Xcode mismatches, you may see errors like dyld[xxx]: missing symbol called
when you have Address Sanitizer enabled across them.