작성
·
252
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쪽 코드 문제 같아보이지는 않는데, 이게 척 보고 바로 알기가 힘들 것 같아서 그냥 코드를 복붙할까 하다가 그래도 원인이 전혀 감이 안 잡히니까 그냥 넘어가기도 좀 뭐해서 질문드립니다ㅠ