Loading…
This event has ended. Visit the official site or create your own event on Sched.
View analytic
Wednesday, September 27 • 12:30pm - 1:30pm
Optimizations and Debug Quality

Log in to save this to your schedule and see who's attending!

Feedback form is now closed.
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.

This talk compares debug information quality between two popular compilers: gcc and clang. We will introduce the topic of optimization and highlight examples of their impact on debuggability. Attendees will walk away with a greater understanding of debuggability in their C++ applications.

Speakers
avatar for Samy Al Bahra

Samy Al Bahra

CTO/ Co-Founder, Backtrace
Samy Al Bahra is the cofounder of Backtrace, where he is helping build a modern debugging platform for today’s complex applications. Prior to Backtrace, Samy was a principal engineer at AppNexus, where he played a lead role in the architecture and development of many mission-crit... Read More →



Wednesday September 27, 2017 12:30pm - 1:30pm
ENIAC (404) Meydenbauer Center