Solving a bug via lateral thinking
summary
A bug in Qt's V4 JavaScript engine makes a simple string comparison return true; GDB debugging fails because pointer tagging and optimizations defeat breakpoints, so an engineer builds minimal working and failing C++-API tests, instruments both with -pg and visualizes call traces with uftrace flamegraphs, locates a divergent branch, finds a broken overflow detection check, patches it, and verifies the bug is fixed in about two hours instead of weeks.
AI-written summary · about
related talks
01h 01mBack to Basics: Debugging in C++
42mSurprise yourself with Property Based Testing
51m0xBADC0DE
05mMy Four Year Bug
01h 01mTier 3 Means Getting Your Hands Dirty
59mHow Debuggers Work
51mBoosting Software Efficiency in C++: 100% Performance Improvement in a C++ Embedded System
14mAn Empirical Study of Bugs in the rustc Compiler
