---
title: debugger
framework: kernel
role: pseudoSymbol
path: kernel/iokerneldebugger/1812543-debugger
---

# debugger

Factory method that performs allocation and initialization of an IOKernelDebugger object.

## Declaration

```occ
static IOKernelDebugger * debugger(
 IOService *target, 
 IODebuggerTxHandlertxHandler, 
 IODebuggerRxHandlerrxHandler, 
 IODebuggerLinkStatusHandlerlinkStatusHandler, 
 IODebuggerSetModeHandlersetModeHandler); 
```

## Parameters

- `target`: The target object that implements the debugger handlers.
- `txHandler`: The target's transmit handler. A pointer to a 'C' function.
- `rxHandler`: The target's receive handler. A pointer to a 'C' function.
- `linkStatusHandler`: The target's link status handler. A pointer to a 'C' function.
- `setModeHandler`: The target's set mode handler. A pointer to a 'C' function.

## Return Value

Return Value Returns an IOKernelDebugger instance on success, 0 otherwise.

## See Also

### Miscellaneous

- [free](kernel/iokerneldebugger/1812554-free.md)
- [handleClose](kernel/iokerneldebugger/1812560-handleclose.md)
- [handleIsOpen](kernel/iokerneldebugger/1812565-handleisopen.md)
- [handleOpen](kernel/iokerneldebugger/1812573-handleopen.md)
- [init](kernel/iokerneldebugger/1812584-init.md)
- [kdpLinkStatusDispatcher](kernel/iokerneldebugger/1812595-kdplinkstatusdispatcher.md)
- [kdpReceiveDispatcher](kernel/iokerneldebugger/1812607-kdpreceivedispatcher.md)
- [kdpSetModeDispatcher](kernel/iokerneldebugger/1812616-kdpsetmodedispatcher.md)
- [kdpTransmitDispatcher](kernel/iokerneldebugger/1812631-kdptransmitdispatcher.md)
- [lock](kernel/iokerneldebugger/1812643-lock.md)
- [nullLinkStatusHandler](kernel/iokerneldebugger/1812653-nulllinkstatushandler.md)
- [nullRxHandler](kernel/iokerneldebugger/1812663-nullrxhandler.md)
- [nullSetModeHandler](kernel/iokerneldebugger/1812671-nullsetmodehandler.md)
- [nullTxHandler](kernel/iokerneldebugger/1812684-nulltxhandler.md)
- [powerStateDidChangeTo](kernel/iokerneldebugger/1812705-powerstatedidchangeto.md)
- [powerStateWillChangeTo](kernel/iokerneldebugger/1812727-powerstatewillchangeto.md)
- [registerHandler](kernel/iokerneldebugger/1812741-registerhandler.md)
- [signalDebugger](kernel/iokerneldebugger/1812763-signaldebugger.md)
- [unlock](kernel/iokerneldebugger/1812777-unlock.md)
