Что делать, если программа падает? Или в ней очевидно есть ошибка, но глазами по коду не видно в чем проблема. Или просто хочется выполнить код по шагам.

Простой вариант - добавить в каждую строчку printf и смотреть на вывод. Часто помогает, но не всегда. А иногда совсем не помогает, если непонятно поведение библиотеки, в которую print не воткнуть. Или когда нужно посмотреть внутрь сложных объектов.

<aside> 👩‍💻 ТруЪ программисты и используют отладчик (дебаггер)!

</aside>

Обычно отладчиком пользуются из IDE, хотя сам он не является их частью. Просто так удобнее. IDE - это integrated development environment - интегрированная среда разработки. Интегрирует всё в себя. В ней можно жить.

Отладчик в современных IDE

Далее копипаста из документации среду разработки CLion, но в других средах разработки всё тоже самое:

Сложный пример с условным брейкпоинтом на 32-ую строчку кода

Сложный пример с условным брейкпоинтом на 32-ую строчку кода