Without questioin, gdb is a brilliant weapon to debug our program. However, the reality is complex. We need black magics to handle these cases.
Magic1: optimized out? Your program is normally compiled in optimized mode (e.g. -O2), sometimes even without debug info!
Why string interning? String Interning is a common optimization in most of programming languages.
As the wiki said:
In computer science, string interning is a method of storing only one copy of each distinct string value, which must be immutable.[1] Interning strings makes some string processing tasks more time- or space-efficient at the cost of requiring more time when the string is created or interned.