1. Gallium was a traditional gdb/lldb-style debugger
2. Debugger.jl is a pure interpreting debugger
3. MagneticReadHead works by compiling a modified version of the code you want to debug that is instrumented to add debugging hooks (this is different from how gdb/lldb work).