# Remote debugging

1\. Launch a remote IDA debugger server on the remote host. The remote server is started from the command line and accepts command line parameters. You can specify a password if you want to protect your debugger server from strangers. For example, to launch the server under MS Windows, you could enter:

```
        win32_remote -Pmy_secret_password
```

2\. Specify the remote debugger parameters in the Debugger, [Process options](https://docs.hex-rays.com/9.1/user-guide/user-interface/menu-bar/debugger/process-control/process-options). The file paths must be valid on the remote host. Do not forget to specify the same password as you have specified when launching the server. For example, to debug notepad.exe on the remote computer remote.host.com:

```
        Application: c:\windows\notepad.exe
        Input file:  c:\windows\notepad.exe
        Directory:   c:\windows
        Hostname:    remote.host.com
        Port:        23946
        Password:    my_secret_password
```

3\. The rest of debugging is the same as with local debugging.

{% hint style="info" %}
The Linux debugger server can handle one debugger session at once. If you need to debug several applications simultaneously, launch several servers at different network ports.
{% endhint %}

The following debugger servers are shipped with IDA

```
 File name             Target system         Debugged programs
 ------------------    ------------------    ----------------------------
 android_server32      ARM Android           32-bit ELF files
 android_server        AArch64 Android       64-bit ELF files
 android_x64_server    x86 Android 32-bit    32-bit ELF files
 android_x86_server    x86 Android 64-bit    64-bit ELF files
 armlinux_server32     ARM Linux             32-bit ELF files
 armlinux_server       AArch64 Linux         64-bit ELF files
 linux_server          Linux 64-bit          64-bit ELF files
 mac_server            Mac OS X/macOS 11     64-bit Mach-O files (x64)
 mac_server_arm        ARM macOS 11          64-bit Mach-O files (arm64)
 mac_server_arme       ARM macOS 11          64-bit Mach-O files (arm64e)
 win32_remote32.exe    MS Windows 32-bit     32-bit PE files
 win64_remote.exe      MS Windows 64-bit     64-bit PE files
```

An appropriate server must be started on the remote computer before starting a debug session.

See also

* [Start process](https://docs.hex-rays.com/9.1/user-guide/user-interface/menu-bar/debugger/process-control/start-process)
* [Debugger submenu](https://docs.hex-rays.com/9.1/user-guide/user-interface/menu-bar/debugger)
* [Debugger for Linux](https://docs.hex-rays.com/9.1/user-guide/debugger/local-debugging/linux-debugger)
* [Debugger for macOS](https://docs.hex-rays.com/9.1/user-guide/debugger/local-debugging/intel-arm-macos-debugger)
* [Debugger for Android native code](https://docs.hex-rays.com/9.1/user-guide/debugger/remote-debugging/android-debugger)
* [Remote iOS debugger](https://docs.hex-rays.com/9.1/user-guide/debugger/remote-debugging/remote-ios-debugger)


---

# 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/remote-debugging.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.
