Skip to content

Commit e3408a9

Browse files
committed
sloppy draft
1 parent 9dcd43f commit e3408a9

File tree

15 files changed

+623
-255
lines changed

15 files changed

+623
-255
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Sentry Dart Plugin
3+
description: "Learn how to use the Sentry Dart Plugin to automatically upload debug symbols for your Dart application."
4+
sidebar_order: 1
5+
---
6+
7+
The [Sentry Dart Plugin](https://github.com/getsentry/sentry-dart-plugin) is the recommended way to upload debug symbols for Dart applications. It automates the upload process for Android, iOS, macOS, and Web, making it seamless to provide Sentry with the necessary files for symbolication.
8+
9+
<PlatformContent includePath="debug-symbols/dart-plugin" />
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Debug Symbols
3+
description: "Learn about uploading debug symbols to enable symbolication of stack traces in your Dart applications."
4+
sidebar_order: 3
5+
---
6+
7+
Debug symbols are essential for understanding stack traces in your Dart application when errors occur. Without debug symbols, stack traces from minified or obfuscated code can be difficult or impossible to interpret.
8+
9+
## What Are Debug Symbols?
10+
11+
Debug symbols provide the necessary information to convert program addresses back to function names, source file names, and line numbers. When you build a Dart application, especially with obfuscation or optimization enabled, this information is typically removed from the main application bundle to reduce size.
12+
13+
In Dart applications, debug symbols can include:
14+
15+
- **For Dart code**: Symbol files generated when using `--split-debug-info` and `--obfuscate` flags
16+
- **For iOS/macOS**: dSYM files
17+
- **For Android**: Proguard/R8 mapping files and symbols files
18+
- **For Flutter Web**: Source maps
19+
- **For Android NDK**: ELF DWARF debug files
20+
21+
## When to Upload Debug Symbols
22+
23+
With default settings, complete stack traces are available in your Dart errors out of the box, unless you use [`split-debug-info`](https://flutter.dev/docs/perf/app-size#reducing-app-size) and [`obfuscate`](https://flutter.dev/docs/deployment/obfuscate) flags. In these cases, you must upload the debug information files generated by the build, so Sentry can show proper stack traces.
24+
25+
<Alert>
26+
27+
For Flutter Desktop (Windows/Linux) the `split-debug-info` and `obfuscate` flags are not supported yet. See this [issue](https://github.com/getsentry/sentry-dart/issues/433).
28+
29+
</Alert>
30+
31+
Errors raised from the native layer in Flutter apps also require debug information files:
32+
- Android apps using `proguard` for minification and obfuscation need mapping files
33+
- iOS/macOS apps require dSYM files
34+
- Android NDK requires DWARF debug files
35+
- Flutter Web requires source maps
36+
37+
## Upload Methods
38+
39+
Sentry offers several methods to upload debug symbols for Dart applications:
40+
41+
1. **[Sentry Dart Plugin (Recommended)](/platforms/dart/common/debug-symbols/dart-plugin.mdx)** - The easiest way to automatically upload debug symbols for iOS, Android, and Web.
42+
43+
2. **[Manual Upload Options](/platforms/dart/common/debug-symbols/manual-upload.mdx):**
44+
- [iOS and macOS](/platforms/apple/dsym/) - Upload dSYM files for symbolication of Apple platform crashes.
45+
- [Android](/cli/dif/#uploading-files) - Upload mapping files manually using the Sentry CLI.
46+
- [Android NDK](/cli/dif/#uploading-files) - Upload ELF DWARF debug files for native code crashes.
47+
- [Web](/cli/releases/#upload-source-maps) - Upload source maps for Flutter web applications.
48+
49+
Choose the method that best suits your workflow and platform requirements. For most users, the Sentry Dart Plugin provides the simplest solution across all platforms.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Manual Upload
3+
description: "Learn how to manually upload debug symbols for your Dart applications."
4+
sidebar_order: 2
5+
---
6+
7+
If you choose not to use the Sentry Dart Plugin, you can manually upload debug symbols for your Dart applications. This page provides instructions for different platforms.
8+
9+
<PlatformContent includePath="debug-symbols/manual-upload" />
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: Common Features
3+
sidebar_order: 3
4+
---
5+
6+
This section contains documentation for features that are common across Dart platforms.
7+
8+
## Debug Symbols
9+
10+
[Debug Symbols](/platforms/dart/common/debug-symbols/) help you understand stack traces in your Dart applications by providing the necessary information to convert program addresses back to function names, source file names, and line numbers.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Configuration
33
description: "Additional configuration options for the SDK."
4-
sidebar_order: 5
4+
sidebar_order: 4
55
---
66

77
<PageGrid />
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Debug Symbols
3+
description: "Learn about uploading debug symbols for Flutter applications."
4+
sidebar_order: 2
5+
---
6+
7+
Debug symbols are essential for understanding stack traces in your Flutter application when errors occur. Without debug symbols, stack traces from minified or obfuscated code can be difficult or impossible to interpret.
8+
9+
## What Are Debug Symbols?
10+
11+
Debug symbols provide the necessary information to convert program addresses back to function names, source file names, and line numbers. When you build a Flutter application, especially with obfuscation or optimization enabled, this information is typically removed from the main application bundle to reduce size.
12+
13+
In Flutter applications, debug symbols can include:
14+
15+
- **For Dart code**: Symbol files generated when using `--split-debug-info` and `--obfuscate` flags
16+
- **For iOS/macOS**: dSYM files
17+
- **For Android**: Proguard/R8 mapping files and symbols files
18+
- **For Flutter Web**: Source maps
19+
- **For Android NDK**: ELF DWARF debug files
20+
21+
## When to Upload Debug Symbols
22+
23+
With default settings, complete stack traces are available in your Dart errors out of the box, unless you use [`split-debug-info`](https://flutter.dev/docs/perf/app-size#reducing-app-size) and [`obfuscate`](https://flutter.dev/docs/deployment/obfuscate) flags. In these cases, you must upload the debug information files generated by the `flutter` build for Sentry to show proper stack traces.
24+
25+
<Alert>
26+
27+
For Flutter Desktop (Windows/Linux) the `split-debug-info` and `obfuscate` flags are not supported yet. See this [issue](https://github.com/getsentry/sentry-dart/issues/433).
28+
29+
</Alert>
30+
31+
Errors raised from the native layer in Flutter apps also require debug information files:
32+
- Android apps using `proguard` for minification and obfuscation need mapping files
33+
- iOS/macOS apps require dSYM files
34+
- Android NDK requires DWARF debug files
35+
- Flutter Web requires source maps
36+
37+
## Upload Methods
38+
39+
Sentry offers several methods to upload debug symbols for Flutter applications:
40+
41+
1. **[Sentry Dart Plugin (Recommended)](/platforms/dart/guides/flutter/debug-symbols/dart-plugin.mdx)** - The easiest way to automatically upload debug symbols for iOS, Android, and Web.
42+
43+
2. **[Manual Upload Options](/platforms/dart/guides/flutter/debug-symbols/manual-upload.mdx):**
44+
- [iOS and macOS](/platforms/apple/dsym/) - Upload dSYM files for symbolication of Apple platform crashes.
45+
- [Android](/cli/dif/#uploading-files) - Upload mapping files manually using the Sentry CLI.
46+
- [Android NDK](/cli/dif/#uploading-files) - Upload ELF DWARF debug files for native code crashes.
47+
- [Web](/cli/releases/#upload-source-maps) - Upload source maps for Flutter web applications.
48+
49+
Choose the method that best suits your workflow and platform requirements. For most users, the Sentry Dart Plugin provides the simplest solution across all platforms.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: Sentry Dart Plugin
3+
description: "Learn how to use the Sentry Dart Plugin to automatically upload debug symbols for your Flutter application."
4+
sidebar_order: 1
5+
slug: platforms/dart/guides/flutter/debug-symbols/dart-plugin
6+
---
7+
8+
The [Sentry Dart Plugin](https://github.com/getsentry/sentry-dart-plugin) is the recommended way to upload debug symbols for Flutter applications. It automates the upload process for Android, iOS, macOS, and Flutter Web, making it seamless to provide Sentry with the necessary files for symbolication.
9+
10+
<PlatformContent includePath="debug-symbols/dart-plugin" />
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Debug Symbols
3+
description: "Learn about uploading debug symbols for Flutter applications."
4+
sidebar_order: 2
5+
---
6+
7+
Debug symbols are essential for understanding stack traces in your Flutter application when errors occur. Without debug symbols, stack traces from minified or obfuscated code can be difficult or impossible to interpret.
8+
9+
## What Are Debug Symbols?
10+
11+
Debug symbols provide the necessary information to convert program addresses back to function names, source file names, and line numbers. When you build a Flutter application, especially with obfuscation or optimization enabled, this information is typically removed from the main application bundle to reduce size.
12+
13+
In Flutter applications, debug symbols can include:
14+
15+
- **For Dart code**: Symbol files generated when using `--split-debug-info` and `--obfuscate` flags
16+
- **For iOS/macOS**: dSYM files
17+
- **For Android**: Proguard/R8 mapping files and symbols files
18+
- **For Flutter Web**: Source maps
19+
- **For Android NDK**: ELF DWARF debug files
20+
21+
## When to Upload Debug Symbols
22+
23+
With default settings, complete stack traces are available in your Dart errors out of the box, unless you use [`split-debug-info`](https://flutter.dev/docs/perf/app-size#reducing-app-size) and [`obfuscate`](https://flutter.dev/docs/deployment/obfuscate) flags. In these cases, you must upload the debug information files generated by the `flutter` build for Sentry to show proper stack traces.
24+
25+
<Alert>
26+
27+
For Flutter Desktop (Windows/Linux) the `split-debug-info` and `obfuscate` flags are not supported yet. See this [issue](https://github.com/getsentry/sentry-dart/issues/433).
28+
29+
</Alert>
30+
31+
Errors raised from the native layer in Flutter apps also require debug information files:
32+
- Android apps using `proguard` for minification and obfuscation need mapping files
33+
- iOS/macOS apps require dSYM files
34+
- Android NDK requires DWARF debug files
35+
- Flutter Web requires source maps
36+
37+
## Upload Methods
38+
39+
Sentry offers several methods to upload debug symbols for Flutter applications:
40+
41+
1. **[Sentry Dart Plugin (Recommended)](/platforms/dart/guides/flutter/debug-symbols/dart-plugin)** - The easiest way to automatically upload debug symbols for iOS, Android, and Web.
42+
43+
2. **[Manual Upload Options](/platforms/dart/guides/flutter/debug-symbols/manual-upload):**
44+
- [iOS and macOS](/platforms/apple/dsym/) - Upload dSYM files for symbolication of Apple platform crashes.
45+
- [Android](/cli/dif/#uploading-files) - Upload mapping files manually using the Sentry CLI.
46+
- [Android NDK](/cli/dif/#uploading-files) - Upload ELF DWARF debug files for native code crashes.
47+
- [Web](/cli/releases/#upload-source-maps) - Upload source maps for Flutter web applications.
48+
49+
Choose the method that best suits your workflow and platform requirements. For most users, the Sentry Dart Plugin provides the simplest solution across all platforms.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: Manual Upload
3+
description: "Learn how to manually upload debug symbols for your Flutter application."
4+
sidebar_order: 2
5+
slug: platforms/dart/guides/flutter/debug-symbols/manual-upload
6+
---
7+
8+
If you choose not to use the Sentry Dart Plugin, you can manually upload debug symbols for your Flutter application. This page provides instructions for different platforms.
9+
10+
<PlatformContent includePath="debug-symbols/manual-upload" />

0 commit comments

Comments
 (0)