• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

NULL오류가 나타났는데 디버그능력을 어떤식으로 키워야할까요?

22.05.24 17:38 작성 조회수 167

1

하이러키상에서는 scoreText로 만들었는데 UI_Button.cs에서 enum으로 ScoreText를, Start문에서 Get<Text>((int)Texts.ScoreText).text = "Bind Test"; 로 scoreText를 대소문자 잘못적는 실수를해서 NULL오류가 나왔는데요,

이 NULL값을 디버그모드로 찾아보려다가 찾는방법을 잘 몰라서 일일히 비교해보고 문제점을 발견했습니다.

구체적으로는 Start에 중단점걸고 f10으로 넘기면서 확인했는데 Get<Text>((int)Texts.ScoreText).text = "Bind Test"; 이부분에서 f10으로 넘어갈때 Null오류가 뜬다는것만 확인했지만 대소문자 오류인지를 몰라서 헤매다보니 이부분에서 문제를 어떻게 확인해야할지, 뭐가문제인지 감이 안잡히는거 같습니다.

NULL값을 찾기위해 디버그모드를 사용하려해도 저가 디버그를 다뤄본적이 너무 부족하다고 느낀 바 어떤식으로 이것을 학습해서 능력을 키워야할지 길을 제시해주셨음 합니다

디버그강의를 다시봐야할까요? 중단점을 찍는 위치부터 null값이 어디에떠서 문제가생기는지를 파악할수있는 디버그를 하는능력을 기르고싶습니다.

 

답변 1

답변을 작성해보세요.

0

버그를 찾는 능력은 경험과 추론의 영역입니다.
딱히 뭘 어떻게 해라라는 절대적인 규칙은 없습니다.

이부분에서 f10으로 넘어갈때 Null오류가 뜬다는것만 확인했지만

여기까지 오셨다면 절반까지 온 것이고,
NULL 오류가 떴다면 Get<Text>((int)Texts.ScoreText)을 못찾았다는 문제니,
그렇다면 Bind를 하는 부분을 뒤져보면 되지 않을까? 라는 합리적인 선택을 할 수 있죠.
이런 식으로 센스와 경험이 쌓이다 보면 어지간한 크래시 1분 컷으로 찾을 수 있게 됩니다.
그리고 F10뿐 아니라 F11도 자유자재로 이용할 줄 알아야 합니다.

이동현님의 프로필

이동현

질문자

2022.05.24

아하 경험의 부족이군요... 감사합니다 디버그로 많이 고쳐봐야겠네요.