---
title: Investigate Obfuscated Stack Traces with RUM Debug Symbols
description: >-
  Debug and deobfuscate stack traces in RUM using debug symbols to investigate
  errors in obfuscated mobile and web applications.
breadcrumbs: >-
  Docs > RUM & Session Replay > Real User Monitoring & Session Replay Guides >
  Investigate Obfuscated Stack Traces with RUM Debug Symbols
---

# Investigate Obfuscated Stack Traces with RUM Debug Symbols

The [RUM Debug Symbols page](https://app.datadoghq.com/source-code/setup/rum) lists all the debug symbols that are uploaded for a given type of RUM application. You can use this page to investigate obfuscated stack traces.

{% alert level="info" %}
To automatically associate stack traces with your service and version for source code resolution, use the [Source Code Context build plugin](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/build_plugins/source_code_context.md).
{% /alert %}

The following error message appears when a stack trace is not properly deobfuscated in RUM or Error Tracking: *The stack trace could not be deobfuscated because no debug symbols could be found for this application. If you are not obfuscating your application, ignore this message. Otherwise, upload your debug symbols to see deobfuscated stack traces. You can view all your uploaded symbols on the RUM Debug Symbols page.*

{% image
   source="https://docs.dd-static.net/images/real_user_monitoring/guide/debug-symbols/deobfuscation-failed-message.aec373350ee01a16a899d36382efeff1.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/real_user_monitoring/guide/debug-symbols/deobfuscation-failed-message.aec373350ee01a16a899d36382efeff1.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Deobfuscation failed: The stack trace could not be deobfuscated because no mapping files could be found for this application. If you are not obfuscating your application, ignore this message. Otherwise, upload your mapping files to see deobfuscated stack traces. You can view all your uploaded files on the RUM Debug Symbols page." /%}

This can occur for a number of reasons:

### The stack trace was not obfuscated{% #the-stack-trace-was-not-obfuscated %}

Datadog tries to deobfuscate all stack traces, including stack traces that are not obfuscated (for example, from running local tests or for non-production builds).

You can ignore this warning. The stack trace is already readable.

### No debug symbols uploaded for this version{% #no-debug-symbols-uploaded-for-this-version %}

Use the [RUM Debug Symbols page](https://app.datadoghq.com/source-code/setup/rum) to see if there are debug symbols for your application. This page is filtered by **type** (JavaScript, Android, iOS, React Native, Flutter). Use the filter to find the debug symbols you are looking for.

If there are no debug symbols for your application, [upload them](https://docs.datadoghq.com/real_user_monitoring/error_tracking/mobile/android.md?tab=us#upload-your-mapping-file).

{% alert level="danger" %}
Ensure that the size of each debug symbol does not exceed the limit of **500 MB**, otherwise the upload is rejected. For iOS dSYMs, individual files up to **2 GB** are supported.
{% /alert %}

### Debug symbol tags do not match{% #debug-symbol-tags-do-not-match %}

Datadog relies on different tags to match debug symbols with stack traces. These tags vary for each type of application:

| Application type | Tag combination used for matching                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| JavaScript       | `service`, `version`, `path`                                                                                                                        |
| Android          | v1.13.0+: `build_id`Older versions: `service`, `version`, `variant`                                                                                 |
| iOS              | `uuid`                                                                                                                                              |
| React Native     | `service`, `version`, `bundle_name`, `platform`; if multiple source maps match on these fields, the one with the highest `build_number` is selected |
| Flutter          | `service`, `version`, `variant`, `architecture`                                                                                                     |

The [RUM Debug Symbols page](https://app.datadoghq.com/source-code/setup/rum) displays the values of these tags. If you find a mismatch, [upload the debug symbols](https://docs.datadoghq.com/real_user_monitoring/error_tracking/mobile/android.md?tab=us#upload-your-mapping-file) again with a corrected set of tags.
