if your code is compiled at -o2 -os or -o3 it’s quite normal for step over not to folow the sequenital flow as it got optilmized
if you need full debug only used -o0 even -og (debug) will supress some variable visibility.
if you have enabed rtos awarness in the opencd config brake at main shall not be used
it seam that brake prior os start and so any thread present will confused the IDE/debugger.
what you do with manual brake set look as some work arround it .
Also i notice degung rtos aware debug is not quite robust/stable. I could seen similar issue with brake at main etc.
typicaly to debug priro os started use non rtos aware debug config (you can have both debug conf )
and do not enable rtos awarness unless you need to view all task state and call stack
i’m personally ok with non rtos aware debug until to deal and debug with above requirement.
if you get stuck at system clock config is suspect yoru clock config is not correct or ?
if you can’t debug but have some proof app is running “brake/pause” shall run always
it may brake in assembly or most of time is rtos idle task or scheduler but stil shall run.