Если у вас возникла проблема, методов поиска причины в современной разработке существует несколько. Один из них древнее журналистики и проституции: «отладка printf'ом», им ещё Керниган в 1970-х занимался и в книге рекомендовал. Суть в том, что вы обкладываете код выводом нужного на консоль (в лог, в stdout, на светодиод, etc), дальше медитируете на результат. В разных языках выглядит разно, но суть одна: printf (C), print (Python), System.out.println (Java), console.log (JavaScript). --- Почему это до сих пор широко используется? Во-первых, иногда у вас нет возможности подлезть к софту отладчиком. Скажем, запускается на удалённом закрытом сервере, от которого вам раз в сутки дают логи на анализ. Или скрипт на стороне клиента [не] работает, вы ему только и говорите, что «ребутнись и скажи, что в лог наплевалось». Во-вторых, иногда вам требуется собрать состояние софта за некоторый промежуток времени и вряд ли вам понравится час сидеть за клавиатурой, протыкивая бряки в отладчике. В-трет
