작성
·
698
0
안녕하세요 강사님 동적 할당으로 메모리를 할당해서 패킷을 보낼려고 하는데
왜 (int dir, bool wDown) 값을 추가해서 메모리를 동적할당 하게 되면 메모리 엑세스 위반 에러가 나오게 되는건가요?
왜 이런 에러가 뜨는건지 감을 못잡겠어서 질문 드립니다...
답변 1
0
memcpy에 BP를 걸고 거길 유심히 살펴보세요.
1) wsa.len에 들어가는 값이 146이 맞는지
2) _sendBuf는 최소 146 바이트 이상인지 (new char[1000]으로 대체해보면 쉽게 테스트 가능하겠죠)
그리고 memcpy 같은건 어셈으로 보는게 별다른 의미가 없습니다.
차라리 실험을 하면서 범인을 색출하는게 빠릅니다.
마지막으로 개인 작업은 어떻게 어딜 고친지 알 수가 없어서
저도 코드를 봐드릴 수가 없습니다.
크래시가 나는 위치는 do_send(p) 함수가 호출 되는 부분입니다. do_send가 호출되고 인자로 받은 packet을 받아와서 메모리 복사하는 과정에서 패킷의 값이 이상하게 나와버립니다..