A Look Back at 2019

What a year

  • A brand new Web Console stacked with useful tools like assignments, issue linking, tagging and comments.
  • A unique flame graph view that allows engineers to explore instability by code path.
  • And a revamped Debugger UX that provides a foundation to speed time to resolution of issues.

And so much more! Let’s take a look at some other ‘under the hood’ features that make Backtrace the most advanced and complete platform for cross-platform crash debugging and error management.

5 “Under the Hood” features

5 – PDB / executable compatibility with packers and DRM tools
4 – ProGuard (Android) and Source Maps (JavaScript)
3 – Best-in-class Linux and Windows debuggers
2 – Advanced 2-way sync with Jira and other issue tracking systems
1 – Improve CI/CD stability

PDB / executable compatibility with packers and DRM tools

Digital media companies, especially those in the gaming space, will make use of DRM technologies to protect their intellectual property. Implementation of these technologies makes debugging more difficult, as they modify symbol files and executables. Backtrace is different. We have added support for DRM technologies and work with various development teams to ensure their engineers can debug and support their DRM protected assets with no additional investment. Support occurs behind the scenes with no user intervention required. Talk to us for more details!

ProGuard for Android and SourceMaps for JavaScript

ProGuard is distributed as part of the Android SDK and is often run when building applications in ‘release mode’. It provides Java and Kotlin developers the ability to optimize and obfuscate their applications. This makes it so call stacks are not human-readable, so Backtrace added support Proguard. Developers can upload their ProGuard files to Backtrace and Java/Kotlin call stacks will become human readable and be usable for deduplication. Details are available in the Android Integration Guide.

Similar support was added for SourceMaps and JavaScript as well. In this video Pawel shows you how Backtrace supports SourceMaps with a sample Electron app written in TypeScript. You will see how without SourceMap files, tools like Backtrace will only show the faulting line number from the transpiled javascript file. This isn’t very useful to the TypeScript developer. When proper SourceMaps are uploaded to Backtrace, proper TypeScript line numbers are shown and debugging is easier.

Best-in-class Linux and Windows debuggers

Backtrace’s libbt for Linux continues to be the best debugger for Linux. This year, we added support for the dwzDWARF compression tool, improved variable extraction accuracy, new unwinding heuristics for corrupt call stacks, and improved performance for targets with thousands of threads. More verbose call stacks, including a normalized list of the source files and executable objects associated to a given faulting call stack were also provided to enable faster debugging.

On the Windows side, support for proprietary extensions in Microsoft debug formats was added this year. Among other things, this greatly improves support for inline functions, allowing for symbolification accuracy mirroring that of a full Windows debugging environment. Inline functions are common place in modern programming languages such as C++ that heavily make use of templates and other facilities that result in inlining.

This means reliable and accurate call stacks for modern applications. For triage, the accuracy of the call stack is directly proportional to the ability to deduplicate incoming errors, identify regressions and understand impact. For root cause investigation, the accuracy of the call stack is the difference between days and hours of reverse engineering, versus minutes.

Backtrace provides support for inline functions and accurate callstacks.

Advanced 2-way sync with Jira and other issue tracking systems

Integration with issue tracking tools like Jira and GitHub Issues is a must have. Without it, it’s harder to get the right information into the regular workflow that engineers go through as they are resolving bugs and creating new features. Backtrace offers a complete set of features to make sure the right information gets to the right engineer at the right time. This includes:

State logic diagram - Fingerprint becomes resolved when all linked issues become resolved.

State sync management logic diagram

  • Automated or manual creation of issues
  • Custom payloads for fields
  • Rules to drive assignment, tagging, and more
  • 2 way sync of issue state and assignee
  • Multiple issue links and state sync management

Improve CI/CD stability

As our customers have moved to a more automated CI and CD process for their applications, they now look to Backtrace to support more than just production crashes and exceptions. They want Backtrace to be a central system for their teams to triage and diagnose all error uncovered throughout the SDLC. With that in mind, we developed some best practices for Backtrace in CI/CD systems.

Learn more

Email us at info@backtrace.io to chat or learn more about any of the new features we built for teams like yours!

By | 2019-12-18T14:32:40+00:00 December 17th, 2019|Backtrace, Features|