LLDB debugserver

Apple’s user-space debugger server implementation: acquiring a task port, installing and restoring exception ports, coordinating task and thread suspension, writing executable memory, and arm64 hardware single stepping.

debugserver task control and exception threadllvm-project/lldb/tools/debugserver/source/MacOSX/MachTask.mm
debugserver Mach exception messages and saved portsllvm-project/lldb/tools/debugserver/source/MacOSX/MachException.cpp
debugserver process launch, attach, stop, and resumellvm-project/lldb/tools/debugserver/source/MacOSX/MachProcess.mm
debugserver per-thread suspension and resume preparationllvm-project/lldb/tools/debugserver/source/MacOSX/MachThread.cpp
debugserver all-stop thread coordinationllvm-project/lldb/tools/debugserver/source/MacOSX/MachThreadList.cpp
debugserver memory writes and instruction-cache flushesllvm-project/lldb/tools/debugserver/source/MacOSX/MachVMMemory.cpp
debugserver arm64 single-step statellvm-project/lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp

other groups: Exceptions & traps · Debugging · Userspace debugging · MIG (Mach Interface Generator)