Никогда по звонку с плохой связью не решал проблему "у меня там раньше был этот кругленький ну звонить внукам чтобы а потом я куда-то что-то нажал или не нажал и теперь не звонит" ?
Технически это лог, т.е. можно натыкать 100500 этих printf, и посмотреть до какого момента и в каком состоянии доходит. И если тебе нужно совершить например сотню итераций, а падает на рандомном этапе, то только так по сути и "дебажить". Причем дэбаг это ещё и остановка кода, что порой приводит к всяким нежелательным таймаутам.
Ну или ещё более веселое -- падает в релизной сборке, которую особо не подэбажишь.
"веселая" ситуация случилась пару месяцев назад.
В дебаге не воспроизводится
В релизе воспроизводится
Логируешь и в релизе не воспроизводится. Оказалось что движок подвисал чутка и время на логирование ему давало время что бы раздуплиться.
Вот это печальная ситуация.
Молодой врач Нёма приходит к своему отцу доктору Кацу, и радостно говорит ему:
— Папа, я вылечил мадам Рабинович! Ты лечил ее всю жизнь, и не смог вылечить, а я смог!
— Ой вэй, Нёма! Та шо же ты сделал? На ее деньги ты закончил школу, медицинский институт, стажировался в лучших клиниках Германии и Израиля, а она все лечилась... А вот ты, поц, взял ее и вылечил.
Отличный комментарий!