All Projects → haroldadmin → WhatTheStack

haroldadmin / WhatTheStack

Licence: Apache-2.0 License
See a pretty error screen when your Android app crashes

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to WhatTheStack

Hardhat
Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software. Get Solidity stack traces & console.log.
Stars: ✭ 727 (+202.92%)
Mutual labels:  debugging, tooling
Scope Capture
Project your Clojure(Script) REPL into the same context as your code when it ran
Stars: ✭ 392 (+63.33%)
Mutual labels:  debugging, tooling
vscode-fsharp-refactor
F# refactoring tools for vscode
Stars: ✭ 13 (-94.58%)
Mutual labels:  tooling
gha
🔧 Test your GitHub Actions workflow locally.
Stars: ✭ 53 (-77.92%)
Mutual labels:  debugging
devtools-tips
A collection of useful cross-browser DevTools tips
Stars: ✭ 81 (-66.25%)
Mutual labels:  debugging
ssh2actions
Connect to GitHub Actions VM via SSH for interactive debugging
Stars: ✭ 62 (-74.17%)
Mutual labels:  debugging
docker-pudb
Debug Python code within a Docker container remotely from your terminal using pudb
Stars: ✭ 18 (-92.5%)
Mutual labels:  debugging
ngp
New Go Package
Stars: ✭ 22 (-90.83%)
Mutual labels:  tooling
devmod
Developer Module for debugging web applications
Stars: ✭ 16 (-93.33%)
Mutual labels:  debugging
ircpdb
Remotely and collaboratively debug your Python application via an IRC channel.
Stars: ✭ 59 (-75.42%)
Mutual labels:  debugging
deno-debug
Debugging utility for deno. Ported from https://npmjs.com/debug
Stars: ✭ 15 (-93.75%)
Mutual labels:  debugging
debugger
Debugging helper for Go
Stars: ✭ 54 (-77.5%)
Mutual labels:  debugging
SmartDump
SmartDump - an exception and memory dump capture utility
Stars: ✭ 17 (-92.92%)
Mutual labels:  debugging
td-completes-me
A Simple Auto Completion Engine for Touch Designer
Stars: ✭ 85 (-64.58%)
Mutual labels:  tooling
elixir-fire-brigade-workshop
Workshop "Join the Elixir Fire Brigade - Level-up Your Elixir Debugging Skills" (ElixirConf US 2017)
Stars: ✭ 14 (-94.17%)
Mutual labels:  debugging
use-debugger-hooks
A small package of custom React hooks that are useful for debugging changes in React hook dependencies across renders
Stars: ✭ 44 (-81.67%)
Mutual labels:  debugging
iopipe-go
Go agent for AWS Lambda metrics, tracing, profiling & analytics
Stars: ✭ 18 (-92.5%)
Mutual labels:  debugging
SandboxBrowser
A simple iOS sandbox file browser, you can share files through AirDrop
Stars: ✭ 84 (-65%)
Mutual labels:  debugging
kokkos-tools
Kokkos C++ Performance Portability Programming EcoSystem: Profiling and Debugging Tools
Stars: ✭ 52 (-78.33%)
Mutual labels:  debugging
CrashLogger
A dll injected into process to dump stack when crashing.
Stars: ✭ 19 (-92.08%)
Mutual labels:  debugging

WhatTheStack

Banner

WhatTheStack is a library to make your debugging experience on Android better.

It shows you a pretty error screen when your Android App crashes, instead of a boring old dialog saying "Unfortunately, <your-app> has crashed".

Demo

Setup

Release

Add Jitpack repository in your root build.gradle file:

allprojects {
  repositories {
    maven { url 'https://jitpack.io' }
  }
}

And then add the dependency to your app:

dependencies {
  debugImplementation 'com.github.haroldadmin:WhatTheStack:(latest-version)'
}

Now when an uncaught exception is thrown in your application, you will be greeted with a screen containing information about the crash. We support light and dark themes too!

Usage

WhatTheStack works by overriding the default exception handler in your app. It processes any uncaught exception in your app, parses it to extract useful information, and then shows it in a pretty screen.

Automatic Initialization

WhatTheStack uses the Jetpack App Startup library to run automatically when your app starts. You don't need to write any code to initialize it manually.

Need to disable automatic initialization? If you want to disable automatic startup, add the following lines to your Manifest file:
<provider
  android:name="androidx.startup.InitializationProvider"
  android:authorities="${applicationId}.androidx-startup"
  android:exported="false"
  tools:node="merge">
  <meta-data  android:name="com.haroldadmin.whatthestack.WhatTheStackInitializer"
    android:value="androidx.startup"
      tools:node="remove"/>
</provider>

Debug vs Release builds

We recommend using WhatTheStack in debug builds only. We see it as a tool to improve the experience of the developer, not the user.

Need to use it in release builds? If you want to use WhatTheStack in release builds, replace the `debugImplementation` dependency with `implementation'.
dependencies {
-  debugImplementation 'com.github.haroldadmin:WhatTheStack:(latest-version)'
+  implementation 'com.github.haroldadmin:WhatTheStack:(latest-version)'
}'

The library ships with Proguard rules to ensure that it works correctly even after minification.

Multi-Process Service

WhatTheStack runs a bound service in a separate process to show you the error screen on a crash.

We need to run this code in a separate process because you can't reliably launch new Activities in the host application's process after an uncaught exception is thrown.

Contributions

We are happy to accept any external contributions in the form of PRs, issues, or blog posts.

Please consider starring the repository if you find it useful or intriguing!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].