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 thread
llvm-project/lldb/tools/debugserver/source/MacOSX/MachTask.mmdebugserver Mach exception messages and saved ports
llvm-project/lldb/tools/debugserver/source/MacOSX/MachException.cppdebugserver process launch, attach, stop, and resume
llvm-project/lldb/tools/debugserver/source/MacOSX/MachProcess.mmdebugserver per-thread suspension and resume preparation
llvm-project/lldb/tools/debugserver/source/MacOSX/MachThread.cppdebugserver all-stop thread coordination
llvm-project/lldb/tools/debugserver/source/MacOSX/MachThreadList.cppdebugserver memory writes and instruction-cache flushes
llvm-project/lldb/tools/debugserver/source/MacOSX/MachVMMemory.cppdebugserver arm64 single-step state
llvm-project/lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp