Skip to content

Commit

Permalink
Version 3.1.0 - ndk support (#43)
Browse files Browse the repository at this point in the history
* Crashpad support

* Update CHANGELOG.md

* Update README.md

* Symbols upload instructions

* Added automatically symbols upload and renamed crashpad_handler to libcrashpad_handler

* Fixed compilation errors on Windows + added support for older version of Untiy IDE

* Improved .meta files - removed different platforms from meta file that might be not supported by every Untiy instance

* Android NDK Updates

Clarifying rename of symbol file extensions to simply .so

* Updated readme and changelog

* Update README.md

* Update CHANGELOG.md

* Update SymbolsUpload.cs (#42)

* Update SymbolsUpload.cs - MAC support

* Dynamic attributes support, Crashpad https support

* Readme + Changelog update

* Libraries update

* Version 3.1.0

* move Symbols upload token to android section

Co-authored-by: jasoncdavis0 <[email protected]>
Co-authored-by: Vincent Lussenburg <[email protected]>
  • Loading branch information
3 people authored Aug 28, 2020
1 parent 8ba4742 commit 01d36d5
Show file tree
Hide file tree
Showing 37 changed files with 830 additions and 145 deletions.
8 changes: 8 additions & 0 deletions Android/lib.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Android/lib/arm64-v8a.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Android/lib/arm64-v8a/libbacktrace-crashpad.so
Binary file not shown.
34 changes: 34 additions & 0 deletions Android/lib/arm64-v8a/libbacktrace-crashpad.so.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Android/lib/arm64-v8a/libcrashpad_handler.so
Binary file not shown.
34 changes: 34 additions & 0 deletions Android/lib/arm64-v8a/libcrashpad_handler.so.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Android/lib/armeabi-v7a.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Android/lib/armeabi-v7a/libbacktrace-crashpad.so
Binary file not shown.
34 changes: 34 additions & 0 deletions Android/lib/armeabi-v7a/libbacktrace-crashpad.so.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Android/lib/armeabi-v7a/libcrashpad_handler.so
Binary file not shown.
34 changes: 34 additions & 0 deletions Android/lib/armeabi-v7a/libcrashpad_handler.so.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Android/lib/x86.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Android/lib/x86/libbacktrace-crashpad.so
Binary file not shown.
28 changes: 28 additions & 0 deletions Android/lib/x86/libbacktrace-crashpad.so.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Android/lib/x86/libcrashpad_handler.so
Binary file not shown.
28 changes: 28 additions & 0 deletions Android/lib/x86/libcrashpad_handler.so.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Backtrace Unity Release Notes

## Version 3.1.0
This release adds an ability to capture native NDK crashes from Unity games deployed on Android. The Backtrace Configuration now exposes a setting for games being prepared for Android OS to choose `Capture native crashes`. When enabled, Backtrace will capture and symbolicate native stack traces from crashes impacting the Unity Engine or any Unity Engine Plugin.

When develoing for Andriod, Unity users who want to debug native NDK crash report can specify a Backtrace Symbols Server Token to support the optional uploading of debug symbols from Unity Editor to Backtrace during build. Uploaded symbols are needed to generate human readable stack trace with proper function names for identifying issues.

Backtrace library now allows to set client attributes, that will be included in every report. In addition to that, Backtrace client attributes will be available in the native crashes generated by Android games.

To setup client attributes you can simply type
```csharp
BacktraceClient["name-of-attribute"] = "value-of-attribute";
```
If you already have dictionary of attributes you can use `SetAttributes` method.

## Version 3.0.4
Preliminary Nintendo Switch support has been introduced. The offline database is not currently supported in this version, but will be included in an upcoming release.

Expand Down
Binary file added Documentation~/images/symbols.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 13 additions & 4 deletions Editor/BacktraceConfigurationEditor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,13 @@ public override void OnInspectorGUI()
new GUIContent(BacktraceConfigurationLabels.LABEL_IGNORE_SSL_VALIDATION));
#endif
#if UNITY_ANDROID
EditorGUILayout.PropertyField(
serializedObject.FindProperty("HandleANR"),
new GUIContent(BacktraceConfigurationLabels.LABEL_HANDLE_ANR));
EditorGUILayout.PropertyField(
serializedObject.FindProperty("HandleANR"),
new GUIContent(BacktraceConfigurationLabels.LABEL_HANDLE_ANR));

EditorGUILayout.PropertyField(
serializedObject.FindProperty("SymbolsUploadToken"),
new GUIContent(BacktraceConfigurationLabels.LABEL_SYMBOLS_UPLOAD_TOKEN));
#endif
EditorGUILayout.PropertyField(
serializedObject.FindProperty("UseNormalizedExceptionMessage"),
Expand All @@ -71,7 +75,6 @@ public override void OnInspectorGUI()
serializedObject.FindProperty("DestroyOnLoad"),
new GUIContent(BacktraceConfigurationLabels.LABEL_DESTROY_CLIENT_ON_SCENE_LOAD));


SerializedProperty gameObjectDepth = serializedObject.FindProperty("GameObjectDepth");
EditorGUILayout.PropertyField(gameObjectDepth, new GUIContent(BacktraceConfigurationLabels.LABEL_GAME_OBJECT_DEPTH));

Expand Down Expand Up @@ -117,6 +120,12 @@ public override void OnInspectorGUI()
serializedObject.FindProperty("AddUnityLogToReport"),
new GUIContent(BacktraceConfigurationLabels.LABEL_ADD_UNITY_LOG));

#endif

#if UNITY_ANDROID
EditorGUILayout.PropertyField(
serializedObject.FindProperty("CaptureNativeCrashes"),
new GUIContent(BacktraceConfigurationLabels.CAPTURE_NATIVE_CRASHES));
#endif
EditorGUILayout.PropertyField(
serializedObject.FindProperty("AutoSendMode"),
Expand Down
2 changes: 2 additions & 0 deletions Editor/BacktraceConfigurationLabels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ internal static class BacktraceConfigurationLabels

internal static string LABEL_DESTROY_CLIENT_ON_SCENE_LOAD = "Destroy client on new scene load (false - Backtrace managed)";
internal static string LABEL_HANDLE_ANR = "Handle ANR (Application not responding)";
internal static string CAPTURE_NATIVE_CRASHES = "Capture native crashes";
internal static string LABEL_REPORT_FILTER = "Filter reports";
internal static string LABEL_NUMBER_OF_LOGS = "Collect last n game logs";
internal static string LABEL_GAME_OBJECT_DEPTH = "Game object depth limit";
internal static string LABEL_IGNORE_SSL_VALIDATION = "Ignore SSL validation";
internal static string LABEL_SEND_UNHANDLED_GAME_CRASHES_ON_STARTUP= "Send unhandled native game crashes on startup";
internal static string LABEL_USE_NORMALIZED_EXCEPTION_MESSAGE = "Use normalized exception message";
internal static string LABEL_PERFORMANCE_STATISTICS = "Enable performance statistics";
internal static string LABEL_SYMBOLS_UPLOAD_TOKEN = "Symbols upload token";

// database labels
internal static string LABEL_ENABLE_DATABASE = "Enable Database";
Expand Down
Loading

0 comments on commit 01d36d5

Please sign in to comment.