デバッグするにあたっての前提として、各登場人物がいつ何を誰に渡しているか?というのが整理されている必要がある。
それもエンジニア目線で整理されている必要がある。
「ボタンを押したらエラー画面になった」、これはエンジニア目線で登場人物の整理がされていない。
書いたコードと、使っているFW・ライブラリの仕様の理解(中の実装まで知る必要はない)、HTTPなどのネットワークプロトコルの仕様の理解し各登場人物に分解できればそれでOK。
デバッグは"誰が"どういう異常な出力をしたか?を把握した後に、それを出力したモジュールに何を入力したから異常な動作になったのか?を調べる流れでやるもの。