• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

GSessionManager 관련 질문드립니다!

21.06.23 23:10 작성 조회수 183

0

allocSize는 32 ( size(16) + sizeof(MemoryHeader)(16)) 입니다. 이게 GSessionManager가 _locks 하나와 _sessions 하나를 가지고 있어서 자체 사이즈가 16이고 메모리헤더 사이즈까지 16 해서 32는 맞는 것 같습니다.

콜스택을 보면 GSessionManager가  _poolTable[32]로 접근하려고 하는데, 사진처럼 _poolTable이 초기화가 안된건지 읽을 수가 없습니다ㅠ 이게 GameServer.cpp에서 GThreadManager->Join(); 때문에 GCoreGlobal 역시 컴파일 되서 GMemory도 실행되는걸로 알고 있었는데....

GThreadManager와 GMemory, GDeadLockProfiler 전부 다 잘 쓰고 있었는데, CoreGlobal에는 없이 GameServer에서 단독으로 선언되는 GSessionManager가 추가되니까 갑자기 어디서 꼬인건지 잘 모르겠습니다ㅜ

지금까지 강의 들으면서 Allocator 관련 문제가 단 한번도 발생하지 않아서 이게 allocator쪽 코드 문제 같아보이지는 않는데, 이게 척 보고 바로 알기가 힘들 것 같아서 그냥 코드를 복붙할까 하다가 그래도 원인이 전혀 감이 안 잡히니까 그냥 넘어가기도 좀 뭐해서 질문드립니다ㅠ

답변 2

·

답변을 작성해보세요.

0

ㅎㅎㅎ
저도 책 코드를 따라 칠 때
다르게 동작한다 싶으면
복붙 신공으로 범인을 추적하는데, 매우 훌륭한 방법입니다.

0

G General님의 프로필

G General

질문자

2021.06.23

그냥 복붙하니까 잘 해결됐습니다ㅠ 어디서 뭘 잘못했겟죠ㅠㅠ