Almost all modern production software is compiled with optimization. Debugging optimized code is a desirable functionality. For example, developers usually perform post-mortem debugging on the coredumps produced by optimized code. Moreover, some runtime behaviors are observable only in optimized code. Designing reliable debugging techniques for optimized code has been well-studied in the past. However, little is known about the correctness of the information presented when debugging optimized code. This page summarizes our initial findings.
The following table gives an overview of the bugs found by our technique.