> For the complete documentation index, see [llms.txt](https://docs.hyperdbg.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging.md).

# Kernel-mode Debugging

- [Principles](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/principles.md): Principles of designing a fast and reliable kernel-mode debugger
- [Examples](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples.md)
- [beginning](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/beginning.md)
- [Connecting To HyperDbg](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/beginning/connecting-to-hyperdbg.md): Connecting & Debugging Using HyperDbg
- [Configuring Symbol Server/Path](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/beginning/configuring-symbol-server-path.md): Configuring symbol server and path
- [basics](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/basics.md)
- [Setting Breakpoints & Stepping Instructions](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/basics/setting-breakpoints-and-stepping-instructions.md): Set breakpoint, Step-over, and Step-in
- [Displaying & Editing & Searching Memory](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/basics/displaying-and-editing-and-searching-memory.md): Using d\*, e\*, and s\* commands
- [Showing & Modifying Registers and Flags](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/basics/showing-and-modifying-registers-and-flags.md): Using the 'r' command
- [Switching to a Specific Process or Thread](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/basics/switching-to-a-specific-process-or-thread.md): Using the '.process', and the '.thread' commands
- [Mapping Data & Create Structures, and Enums From Symbols](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/basics/mapping-data-and-create-structures-and-enums-from-symbols.md): Using the 'dt' and the 'struct' commands
- [events](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/events.md)
- [Managing Events](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/events/managing-events.md): Enable, Disable, and remove events
- [Hooking Any Function](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/events/hooking-any-function.md): Description about hooking options in HyperDbg
- [Intercepting All SYSCALLs](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/events/intercepting-all-syscalls.md): Getting System-Calls
- [Monitoring Accesses To Structures](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/events/monitoring-accesses-to-structures.md): Finding the writers and reader of memory
- [Triggering Special Instructions](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/events/triggering-special-instructions.md): A description about hooking RDTSC, RDTSCP, I/O IN & OUT, RDPMC, etc.
- [Identifying System Behavior](https://docs.hyperdbg.org/using-hyperdbg/kernel-mode-debugging/examples/events/identifying-system-behavior.md): Intercepting Exceptions, Interrupts, and MSRs
