Backtrace Blog

Backtrace technical docs, conferences, and industry news.

Backtrace Product Update – Query Builder, Scheduled Reports, WebHooks, FogBugz and more

Facilitating the analysis of software crashes is a costly and complex process. Building off of Backtrace’s recent launch of Breakpad / Crashpad / minidump support, I’m excited to discuss some of the new features that we have introduced over the last few weeks to help our users simplify this flow.

In this post, you’ll find out information about the following:

  • Query Builder
  • Scheduled E-mail Reports
  • New Workflow Integrations
  • Dynamic Symbol Downloads

Read More

Compile Once Debug Twice: Picking a Compiler for Debuggability (1/3)

Have you ever had an assert get triggered only to result in a useless core dump with missing variable information or an invalid callstack? Common factors that go into selecting a C or C++ compiler are: availability, correctness, compilation speed and application performance. A factor that is often neglected is debug information quality, which symbolic debuggers use to reconcile application executable state to the source-code form that is familiar to most software engineers. When production builds of an application fail, the level of access to program state directly impacts the ability for a software engineer to investigate and fix a bug. If a compiler has optimized out a variable or is unable to express to a symbolic debugger how to reconstruct the value of a variable, the engineer’s investigation process is significantly impacted. Either the engineer has to attempt to recreate the problem, iterate through speculative fixes or attempt to perform prohibitively expensive debugging, such as reconstructing program state through executable code analysis.

Debug information quality is in fact not proportionally related to the quality of the generated executable code and wildly varies from compiler to compiler. This blog post compares debug information quality between two popular compilers: gcc and clang. In this blog post, we will introduce the topic of optimization and highlight examples of their impact on debuggability. This blog post is part of a longer series, in the next blog post we’ll do finer grained analysis directly comparing gcc and clang in real world and synthetic programs.

Read More

How Backtrace Fit into the Ecosystem of NodeSummit

This July, Backtrace was eager to head west to San Francisco as a first-time sponsor and exhibitor at NodeSummit. With somewhere between 800 and 1000 attendees, NodeSummit is the largest conference focused exclusively on Node.js, and is referred to as, “The Ecosystem of Node.” Knowing that in an ecosystem, each organism has its own niche or role to play, it was important that we knew what ours was. As Backtrace now offers turn-key crash management for the Electron App, we were specifically looking to engage and interact with the Electron developers at NodeSummit.

Read More

Charge Up Electron crashReporter

Back in May, we announced support for Breakpad, Crashpad, and minidump files. In that announcement, we included our official support for developers that maintain Electron Apps as well. It didn’t take long for companies building on Electron to sign up, and we’re thrilled to see them already successfully finding and fixing crashes through Backtrace. David Roe from Team.biz, a messaging app using Electron, was kind enough to share his experiences using Backtrace to make his Electron crashReporter submissions actionable.

Read More

Customer Use Case: Shipping Code Faster

Customer success stories are among our most prized assets. They validate our company mission to build the best crash management platform to improve every aspect of the debugging workflow. Plus, understanding how our customers are using us in practice helps us shape our roadmap. A recent story caught my attention that I wanted to share (read: brag).

Read more to learn about how a recent customer used Backtrace to ship code faster.

Read More