Crash & Hang Analysis on macOS

Master crash and hang analysis on macOS (arm64) using C++ and Xcode, with a deep focus on interpreting crash reports, Mach exceptions, stack traces, and debug symbols. Learn how to symbolicate raw addresses and map them back to source code, and diagnose hangs using tools like sample, spindump, and Time Profiler. Build a systematic, production-grade workflow to identify root causes such as memory errors, deadlocks, and main-thread blocking in real-world applications.

Image14

Course Description

This course provides a practical, system-level approach to crash and hang analysis on macOS (Apple Silicon, arm64) using C++ and Xcode. It covers how macOS crash reports are structured, how to interpret Mach exceptions, and how to analyze stack traces and thread states. It also explains debug symbols and dSYM files, enabling accurate symbolication to map raw memory addresses back to source code.


The course then focuses on hang analysis, where applications become unresponsive without crashing. Using tools such as `sample`, `spindump`, and Time Profiler, it demonstrates how to diagnose issues like deadlocks, thread contention, and main-thread blocking. Each topic is supported by reproducible examples and structured investigation workflows designed for real-world debugging scenarios.


Curriculum

Understand in detail on what is planned under each module

Instructions

📊 Course Material

📄 Source Code

macOS Architecture

Crash!

Crash Report Introduction

Interpreting Crash Report - I

Interpreting Crash Report - II

Interpreting Crash Report - III

Mach Exceptions

EXC_BAD_ACCESS - I

EXC_BAD_ACCESS - II

EXC_CRASH

EXC_BAD_INSTRUCTION

EXC_BREAKPOINT

Debug Symbols

Examining Symbols

Symbolication

Crash Report Symbolication

Xcode Symbolication

📄 Source Code Clone

Introduction to Hangs

Hang Example

Hang Vs Progress

sample Command

sample Example - I

sample Example - II

sample Example - III

sample Example - IV

Hang Summary

UI Application Hang

Mutex Wait

Mutex Deadlock

spindump Command

spindump Example

Mutex Deadlock (spindump)

Xcode Timeprofiler

Final Assignment

🏅 Course Certificate

Why Do This Course

Learn proven techniques to diagnose and fix memory issues, crashes, and hangs that impact stability and performance in your C/C++ applications.

Become proficient with Xcode’s debugging and profiling tools to analyze runtime behavior with precision.

Detect complex memory errors such as buffer overflows, use-after-free, and leaks using tools like AddressSanitizer and libgmalloc.

Analyze crash reports, understand Mach exceptions, and perform symbolication to identify root causes of application failures.

Diagnose UI hangs and threading issues using tools like sample, spindump, and Time Profiler.

Gain practical experience with Instruments (Allocations, Leaks, Time Profiler) to deeply analyze memory usage and CPU performance.

Requirements

  • Basic knowledge of C++
  • Xcode 16.0 on macOS

Reviews

See what other students have to say about the course

Good Course, nice explanation of concepts along with practical application.

Pushp

The course is really well structured and helps a lot

Anusha

learnt a lot of things, especially address sanitizer can be very helpful for memeory issues.

Himanshu

Very Nice Content

Vinay

Related Products

Additional courses that may be relevant to your interests

Image23

Instructor


- Hello! I'm Umar Lone

I've educated and mentored students and professionals globally, leveraging over 20 years of experience in C++, Object-Oriented Programming, Design Patterns, and related technologies. My professional background includes significant contributions to C++, Java, and C# projects with esteemed companies, alongside providing specialized project consultation & mentoring.


My current focus is on delivering comprehensive video courses that distill this extensive knowledge. I specialize in transforming intricate concepts into clear, practical, and actionable insights, supported by real-world examples. This approach is designed to equip you with the necessary clarity and confidence for sustained growth and impactful contributions within your projects and career trajectory.


Begin your learning journey with me now and unlock the advanced understanding and practical expertise essential for making a significant impact in your field.


Keep in touch

Subscribe for announcements, new courses & discount coupons

Yes please, save my details so you can send me educational content that is relevant and helpful.