목록게임프로그래밍/오류해결등 기타 (2)
bdfgdfg
세션 A의 작업이 완료 큐에 남아있을 때 세션을 삭제하면 어떻게 될까. 나는 WSARecv,WSASend를 소켓 대상으로 했을 때 WSAGetLastError가 PENDING이 아니라면 바로 세션을 끊어버렸었다. 여기서의 문제는 세션이 가르키는 힙 메모리 영역의 메모리는 지워졌지만, Session이 그 메모리를 가리키는 주소 값은 삭제를 할 당시에 nullptr로 밀어도 원래 가리키던 주소 값으로 반환해준다. -> CP객체에 소켓과 완료키를 등록할 때 복사를 하는 방식인듯하다. 심지어 GQCS함수의 return값도 true, transferrbytes도 완료가 되었을 때의 송수신된 바이트가 기록되어있고 overlapped도 살아있다. 그렇기에 일반적인 체크로는 Session의 연결을 끊어버렸을 때 위와 ..
아래의 값은 컴파일러에 의해서 세팅되는 메모리 값입니다. (*가급적 모든 변수/메모리는 반드시 초기화하는 습관을 가지는것이 제일 듯합니다.) - 64 bits [초기화 되지 않은 지역변수] 0xCCCCCCCCCCCCCCCC [초기화 되지 않은 Heap 메모리] 0xCDCDCDCDCDCDCDCD [Free된 Heap 메모리] 0xDDDDDDDDDDDDDDDD or 0xFEEEFEEEFEEEFEEE [할당된 Heap 메모리를 벗어난 공간] 0xFDFDFDFDFDFDFDFD - 32 bits [초기화 되지 않은 지역변수] 0xCCCCCCCC [초기화 되지 않은 Heap 메모리] 0xCDCDCDCD [Free된 Heap 메모리] 0xDDDDDDDD or 0xFEEEFEEE [할당된 Heap 메모리를 벗어난 공간..