인프런 커뮤니티 질문&답변

김보준님의 프로필 이미지
김보준

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Packet Generator #2

null 오류

작성

·

337

0

선생님 강의를 보며 코드를 똑같이 작성했는데 널 리퍼런스 오류가 디버깅 도중에 뜨면서 GenPacket.cs가 만들어지지 않아 진도를 못나가고 있습니다

genPackets += string.Format(PacketFormat.packetFormat, packetName, t.Item1, t.Item2, t.Item3);

이 코드에서 널 리퍼런스 오류가 뜨면서 디버깅이 중단됩니다

정확히는 t가 널이었다면서 오류가 뜹니다

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자


완성된 코드를 받아 비교를 해보시기 바랍니다.

null 크래시는 버그 중에 가장 빈번하기 때문에,
반드시 스스로 해결하는 연습을 해야 하고
어찌보면 좋은 디버깅 문제라고 생각할 수 있습니다.
t가 왜 null이 되었는지 breakpoint를 잡아서 살펴보시고,
f10 f11을 이용해 계속 코드를 살펴보면서 원인을 찾아보시기 바랍니다.

3~4시간 고민해도 원인 파악이 안 되면 rookiss@naver.com로 전체 프로젝트 보내주시기 바랍니다.

김보준님의 프로필 이미지
김보준
질문자

완성된 코드와 강의를 계속 돌려보며 원인을 찾았습니다 제가 빠뜨린 부분이 있어서 t가 계속 널이었다고 나왔었네요 조언 감사합니다 선생님!

저도 같은에러 나와서 찾아봤는데. Program.cs 에서 XmlReader 를 생성해줄때 매개변수로 settings 를 안넣어줬더군요.

그래서 ignoreWhiteSpace 가 true 가 아닌상황에서 Read 를 하니까 Whitespace 를 불러들여서 Null 이 들어간거같아요

 

한번 확인해보시면 좋을거같아요.

꽤 오래된 글이지만,ㄱㅎ님 감사합니다. 저도 settings를 사용하지 않아서 name attribute를 받을 수 없었네요

김보준님의 프로필 이미지
김보준

작성한 질문수

질문하기