강의

멘토링

로드맵

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

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

작성한 질문수

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

Packet Generator #2

null 오류

작성

·

401

0

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

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

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

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

퀴즈

Serialization이 무엇인가요?

네트워크 연결을 설정하는 과정

메모리 객체를 바이트 배열로 변환하는 것

암호화 및 복호화 절차

데이터베이스에 정보를 저장하는 것

답변 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를 받을 수 없었네요

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

작성한 질문수

질문하기