unsafe fn dbg_handler(a: &ExceptionArguments) {
    let desc = &EXCEPTIONS[a.vector as usize];

    let kcb = get_kcb();
    if kcb.arch.has_executor() {
        let r = Ring3Resumer::new_restore(kcb.arch.get_save_area_ptr());
        r.resume()
    } else {
        debug::disable_all_breakpoints();
        gdb::event_loop(gdb::KCoreStopReason::DebugInterrupt);
        let r = Ring0Resumer::new_iret(kcb.arch.get_save_area_ptr());
        r.resume()
    }
}
/// Handler for a debug exception.
Handler for a debug exception.
Handler for a debug exception .
unsafe fn dbg_handler(a: &ExceptionArguments) {
    let desc = &EXCEPTIONS[a.vector as usize];
    let kcb = get_kcb();
    if kcb.arch.has_executor() {
        let r = Ring3Resumer::new_restore(kcb.arch.get_save_area_ptr());
        r.resume()
    } else {
        debug::disable_all_breakpoints();
        gdb::event_loop(gdb::KCoreStopReason::DebugInterrupt);
        let r = Ring0Resumer::new_iret(kcb.arch.get_save_area_ptr());
        r.resume()
    }
}
unsafe fn dbg_handler ( a : & ExceptionArguments ) { let desc = & EXCEPTIONS [ a . vector as usize ] ; let kcb = get_kcb ( ) ; if kcb . arch . has_executor ( ) { let r = Ring3Resumer :: new_restore ( kcb . arch . get_save_area_ptr ( ) ) ; r . resume ( ) } else { debug :: disable_all_breakpoints ( ) ; gdb :: event_loop ( gdb :: KCoreStopReason :: DebugInterrupt ) ; let r = Ring0Resumer :: new_iret ( kcb . arch . get_save_area_ptr ( ) ) ; r . resume ( ) } }
Handler for a debug exception.
Handler for a debug exception .
a
&ExceptionArguments
a
&ExceptionArguments