When debugging a GCC Arm-based application in winIDEA, you might notice that double (double-precision floating-point) variables appear differently depending on where you're looking:
This happens because winIDEA is reading the variable’s memory layout incorrectly. If the debugger is set to expect one format, but your compiler used another, it will interpret the bits the wrong way. When targeting little-endian Arm architectures, the GCC compiler can store double values in two different ways, depending on how your toolchain and ABI are configured:
Set the correct double format in Advanced Symbol File settings:
1. Go to Debug | Configure Session | Application | Symbol Files| Edit | Advanced.
2. Select GCC ARM double format | Straight (VFP).