Single stepping GCC-generated code in source-level may not always be possible. Set optimization level to lowest for best results, and use the disassemble view when necessary.