> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/knowledge-base/troubleshooting-articles/rdp-session-troubleshooting.md).

# RDP session troubleshooting

If you are encountering problems with RDP sessions in Remote Desktop Manager, here is the procedure to follow to help us diagnose the source of the problem:

1. Disable RDP API hooking, and try reproducing the issue. If the issue goes away, then RDP API hooking is responsible.
2. Re-enable RDP API hooking, then generate and send RDP API hooking log files. Ideally, capture a success case and failure case scenario for easier comparison.

### Disable RDP API hooking

[Microsoft RDP API hooking](https://github.com/Devolutions/MsRdpEx) is enabled by default in Remote Desktop Manager. API hooking is required [to extend the functionality](https://blog.devolutions.net/2022/08/extending-the-microsoft-rdp-client-with-api-hooking/) of the Microsoft RDP client in both embedded (RDP ActiveX) and external modes (mstsc, msrdc).

1. In Remote Desktop Manager, go to ***File – Settings – Types – Sessions – Remote Desktop (RDP)***.
2. Set ***Enable API hooking*** to ***Disabled***.

   <figure><img src="https://cdnweb.devolutions.net/docs/RDMW2026_2024_1.png" alt=""><figcaption></figcaption></figure>
3. Click ***Save***.
4. Restart Remote Desktop Manager to apply the changes.

Try launching your RDP session again, and see if the issue goes away.

### Generate and send RDP API hooking log files

Beyond extending the Microsoft RDP client features, RDP API hooking also makes it possible to produce logs of internal RDP client events, which is very useful in diagnosing the problem.

1. In Remote Desktop Manager, go to ***File – Settings – Types – Sessions – Remote Desktop (RDP)***.
2. Ensure ***Enable API hooking*** is set to ***Enabled***, especially if you have disabled it previously.

   <figure><img src="https://cdnweb.devolutions.net/docs/RDMW2028_2024_1.png" alt=""><figcaption></figcaption></figure>
3. Set the ***Log level*** to ***Trace***.

   <figure><img src="https://cdnweb.devolutions.net/docs/RDMW6052_2024_3.png" alt=""><figcaption></figcaption></figure>
4. Click ***Save***.
5. Restart Remote Desktop Manager to apply the changes.

Capture a failure case:

1. Launch a *single* RDP session that is affected by the issue, then close Remote Desktop Manager.
2. Go to **%LocalAppData%\MsRdpEx** or the custom log output path in the file explorer.
3. Copy the log file to a "failure" directory, or rename the log file to add "failure" in the name.

Capture a success case (if possible):

1. Launch Remote Desktop Manager, launch a *single* RDP session that is not affected by the issue, then close Remote Desktop Manager
2. Go to **%LocalAppData%\MsRdpEx** or the custom log output path in the file explorer.
3. Copy the log file to a "success" directory, or rename the log file to add "success" in the name.

Oftentimes, issues affect the RDP embedded mode (RDP ActiveX) differently from the RDP external mode (mstsc). If this is your case, then capture logs for the same RDP connection entry in both modes for easier comparison:

1. Launch Remote Desktop Manager
2. Right-click on the RDP connection entry, then click on ***Open with parameters -> Open (embedded/tabbed)*** to launch the RDP session in embedded mode, and then close the tab.
3. Right-click on the RDP connection entry, then click on ***Open with parameters -> Open (external)*** to launch the RDP session in external mode, and then close the RDP client.
4. Close Remote Desktop Manager, then go to **%LocalAppData%\MsRdpEx** or the custom log output path in the file explorer.
5. "MsRdpEx\_RDM.log" matches the embedded mode, and "MsRdpEx\_EntryName.log" matches the external mode, rename accordingly.

Contact our customer support team at <service@devolutions.net> to get a secure link to upload the file.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.devolutions.net/rdm/knowledge-base/troubleshooting-articles/rdp-session-troubleshooting.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.
