혀재 위와같이 고장나는 화면을 개선해보자 우선 참고로 위 빨간 화면은 개발 환경에서만 나타나고 실제 프로덕션에서는 안 보이는 화면이다.
대신 그냥 깨진다.
우선 위 에러를 읽어보면 type casting이 잘 못 된듯 하다.
하지만 이보다 더 좋은 에러 확인하는 방법을 VScode에서 제공한다.
위에서부터 자세히 보니 0~5의 range인데 out of range가 뜬 듯하다.
그리고 #1을 보면 위치를 알 수 있다.
이렇게 manual하게 할 수 있지만 이제 debug 모드로 전환하여 작동해보자.
이때 개발자로서 여러분이 실행되는 동안 앱을 분석할 수 있도록 도와준다. 따라서 앱을 실행할 때 속도가 매우 느려지므로 기본값으로 사용하면 안 되는 모드이다.
하지만 추가 기능에 접근할 수 있는 좋은 모드이다. 오류를 추적하는 데 도움이 되기 때문이다.
바로 breakpoint이다.
게다가 호퍼링 => 우클릭 => add watch를 해두면 굳이 일일이 호버링할 필요없이 왼편 Watch tab에서 바로바로 확인이 가능하다.
그래서 하나하나 찍어보면서 어디서 뻑났는지 확인하면 된다.
그럼 위와 같이 자동으로 현재 프로젝트와 연결이 되는데
여기 다양한 페이지가 있다. 실행되는 동안 이 앱을 분석하도록 돕는다.
예를 들어 로그 페이지에서 다양한 로그 메시지가 보이고 잠재적인 오류 메시지도 확인할 수 있고
네트워크 페이지에서 앱이 디버깅하는 네트워크 요청을 확인할 수도 있다.
앱 크기를 분석할 수도 있고 앱 성능을 분석할 수도 있다.
또 프로필 모드를 사용하려면 앱을 프로필 모드에서 Run|Debug|Profile
에서 Profile을 클릭해주면 된다.
프로필 모드가 뭐냐면 디버그 모드는 너무 헤비하다. 그래서 상대적으로 가벼운 모드이고 또 앱의 성능을 향상하고 분석하는데에도 도움을 준다.
물론 DevTools전용 디버거도 있다. Visual Studio 코드에 내장된 디버깅 기능을 사용하기 싫을 경우 사용하면 된다.
Widget Tree를 클릭을 하면 선택된 위젯의 너비와 높이를 볼 수 있고 부모 위젯과의 관계도 볼 수 있다.
또한 Widget Tree에서 요소에 호버링을 해보면 플러터에 의해 렌더링 될 때 사용되는 객체들을 모두 모아 볼 수 있다.
이미지가 포함된 화면에서 너무 큰 이미지를 강조할 수도 있다.
즉, 이미지가 불필요하게 큰 요소들을 강조해준다. 이는 미리 확인하고 사이즈를 작게하여 메모리 부담을 크게 줄일 수 있다. 즉, 최적화를 할 수 있다.
물론 이는 나중에 할것이지만 혹시몰라 링크를 남겨둔다.