All Projects → guardian → Toolargetool

guardian / Toolargetool

Licence: mit
A tool to help you debug TransactionTooLargeExceptions on Android 7

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Toolargetool

Bugsnag Node
[DEPRECATED] Please upgrade to our Universal JS notifier "@bugsnag/js" • https://github.com/bugsnag/bugsnag-js
Stars: ✭ 48 (-91.68%)
Mutual labels:  debugging, crash-reporting
Bugsnag Laravel
Bugsnag notifier for the Laravel PHP framework. Monitor and report Laravel errors.
Stars: ✭ 746 (+29.29%)
Mutual labels:  debugging, crash-reporting
bugsnag-java
Bugsnag error reporting for Java.
Stars: ✭ 51 (-91.16%)
Mutual labels:  debugging, crash-reporting
Bugsnag Android
Bugsnag crash monitoring and reporting tool for Android apps
Stars: ✭ 990 (+71.58%)
Mutual labels:  debugging, crash-reporting
CrashLogger
A dll injected into process to dump stack when crashing.
Stars: ✭ 19 (-96.71%)
Mutual labels:  debugging, crash-reporting
Trace Nodejs
Trace is a visualised distributed tracing platform designed for microservices.
Stars: ✭ 471 (-18.37%)
Mutual labels:  debugging
Stern
⎈ Multi pod and container log tailing for Kubernetes
Stars: ✭ 5,614 (+872.96%)
Mutual labels:  debugging
Cocoadebugkit
Debugging made easy. Automatically create QuickLook images of custom objects
Stars: ✭ 466 (-19.24%)
Mutual labels:  debugging
Under The Hood Reactjs
Entire React code base explanation by visual block schemes (Stack version)
Stars: ✭ 4,794 (+730.85%)
Mutual labels:  debugging
Sentry Cli
A command line utility to work with Sentry.
Stars: ✭ 567 (-1.73%)
Mutual labels:  crash-reporting
Raven Go
Sentry client in Go
Stars: ✭ 554 (-3.99%)
Mutual labels:  crash-reporting
Tensor Sensor
The goal of this library is to generate more helpful exception messages for numpy/pytorch matrix algebra expressions.
Stars: ✭ 532 (-7.8%)
Mutual labels:  debugging
Bugsnag Php
Bugsnag error monitoring and crash reporting tool for PHP apps
Stars: ✭ 475 (-17.68%)
Mutual labels:  crash-reporting
Mitmproxy
An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Stars: ✭ 25,495 (+4318.54%)
Mutual labels:  debugging
Snoop
A powerful set of Python debugging tools, based on PySnooper
Stars: ✭ 467 (-19.06%)
Mutual labels:  debugging
Ghostwheel
Hassle-free inline clojure.spec with semi-automatic generative testing and side effect detection
Stars: ✭ 556 (-3.64%)
Mutual labels:  debugging
Raven Node
A standalone (Node.js) client for Sentry
Stars: ✭ 462 (-19.93%)
Mutual labels:  crash-reporting
Cdp
Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language.
Stars: ✭ 522 (-9.53%)
Mutual labels:  debugging
Linux 0.11 Lab
Docker/Qemu/Bochs Based Linux 0.11 Kernel Development Environment; New Linux ELF Video Course from this project author: https://www.cctalk.com/m/group/88089283
Stars: ✭ 554 (-3.99%)
Mutual labels:  debugging
Traceback with variables
Adds variables to python traceback. Simple, lightweight, controllable. Debug reasons of exceptions by logging or pretty printing colorful variable contexts for each frame in a stacktrace, showing every value. Dump locals environments after errors to console, files, and loggers. Works in Jupyter and IPython. Install with pip or conda.
Stars: ✭ 509 (-11.79%)
Mutual labels:  debugging

toolargetool

A tool for debugging TransactionTooLargeException on Android.

"Most underrated solution." - Kedar Paranjape, Jun 7 '18 at 14:26

Usage

  1. Include toolargetool as a dependency (you can remove it again once you've debugged your crash):

    • Add maven { url 'https://dl.bintray.com/guardian/android' } in your project's build.gradle:

      allprojects {
          repositories {
              jcenter()
              ...
              maven { url 'https://dl.bintray.com/guardian/android' }
          }
      }
      
    • Add implementation 'com.gu.android:toolargetool:[email protected]' in your module's build.gradle:

      dependencies {
          ...
          implementation 'com.gu.android:toolargetool:[email protected]'
      }
      
  2. Import The package

    import com.gu.toolargetool.TooLargeTool;
    
  3. Add code to start logging during app start, for example in your Application.onCreate method:

    TooLargeTool.startLogging(this);
    
  4. Monitor logcat output to see which components are writing substantial data to the transaction buffer and when:

    $ adb logcat -s TooLargeTool
    

    Example logcat output (TODO: improve this example):

    D/TooLargeTool: MainActivity.onSaveInstanceState wrote: [email protected] contains 1 keys and measures 0.6 KB when serialized as a Parcel
                                                                            * android:viewHierarchyState = 0.6 KB
    

Release process

Note: these instructions will only work if you have the relevant Bintray credentials

  1. Open toolargetool/bintray.gradle.
  2. Increase all the version numbers.
  3. Make a commit and tag it with git tag -a v<version number> -m "<message>".
  4. Run ./gradlew clean install && ./gradlew bintrayUpload.
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].