# Debugger tutorials

Here you can find a comprehensive set of step-by-step tutorials categorized by different debugging types and platforms.

## General introduction into debugging with IDA

* Overview of [Linux debugging with IDA](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/linux_debugger)
* Overview of [Windows debugging with IDA](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/win_debugger_hub)
* [Debugging a Windows executable locally and remotely](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/debugger_windows_local)
* IDA scriptable debugger: [Overview](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/ida_scriptable_debugger1) and [scriptability](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/ida_scriptable_debugger1/ida_scriptable_debugger2)

## Local debugging tutorials

**Windows local debugging**:

* [IDA Win32 local debugging](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/debugger_windows_local)
* [Debugging Windows applications with IDA Bochs plugin](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/bochs_debugger_primer)

**Linux local debugging**:

* [Debugging Linux applications locally](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/debugger_linux_local)
* [IDA Linux local debugging](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/linuxlocal)
* [Using the Bochs debugger plugin in Linux](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/bochs_linux_primer)

## Remote debugging tutorials

* [General remote debugging with IDA Pro](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/remote-debugging-with-ida-pro)
* [Debugging Mac OSX Applications with IDA Pro](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/mac_debugger_primer2)
* [Debugging iOS Applications with IDA Pro](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/ios_debugger_primer2)
* [Debugging iOS >= 17 Applications via CoreDevice with IDA Pro](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/ios_debugging_coredevice)
* [Debugging a Windows executable remotely](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger_windows_local#debugging-a-remote-process)
* [Debugging Windows Kernel with VMWare and IDA WinDbg plugin](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/debugger_windbg_kernel)
* [Debugging Linux Kernel under VMWare using IDA GDB debugger](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/gdb_linux_vmware)

**PIN Tracer**:

* [Debugging Linux/Windows applications with PIN Tracer module](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/debugger_pin)

## Other specialized debugging tutorials

**Android/Dalvik debugging**:

* [Debugging Dalvik programs](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/debugger_dalvik)

**XNU debugging**:

* [Debugging the XNU Kernel with IDA Pro](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/xnu_debugger_primer)

**QEMU debugging**:

* [Debugging code snippets with QEMU debugger (a la IDA Bochs debugger)](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/primer)

**Trace and replay debugger features**:

* [Trace Replayer and Managing Traces](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/trace_replayer)
* [Using IDA Pro's tracing features](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/tracing)

**Appcall mechanism**:

* [Appcall](https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials/appcall_primer)

## Archived tutorials

Outdated tutorials that no longer apply have been moved to the archive.

* [IDA Win32 to Win32 debugging](https://docs.hex-rays.com/9.1/archive/win32towin32)
* [IDA Win32 to Win64 debugging](https://docs.hex-rays.com/9.1/archive/win32towin64)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hex-rays.com/9.1/user-guide/debugger/debugger-tutorials.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
