inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

Select, WSAEventSelect

SocketUtils 관련해서 질문 있습니다.

173

준엽

작성한 질문수 1

0

assert는 release 모드에서 사라지는 것으로 알고있는데

그래서 그런가 Release모드에서 작동시킬 때 서버가 꺼지는 현상이 발생합니다.

assert를 if 문으로 수정했더니 동작은 되는데,

이게 해결법인가요. 아니면 서버가 Debug만 고려된건가요?

c++ 네트워크 ue-blueprint 게임수학 windows-api

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

assert는 개발 과정에서 오류를 찾기 위해 사용되는 함수로, 디버그 모드에서 주로 활용됩니다. Release 모드에서는 assert 구문이 제거되어, assert 조건이 실제 실행 환경에서 검증되지 않게 됩니다. 따라서 Release 모드에서 예상치 못한 동작이나 서버가 꺼지는 현상이 발생할 수 있습니다.

서버가 꺼지는 현상은 Release 모드에서 assert 대신 실제 로직에 영향을 미치는 조건 검사가 누락되었기 때문일 수 있습니다. assert를 if 문으로 수정하여 동작하는 것을 확인했다면, 그 부분은 실제 로직과 관련된 중요한 조건 검사일 가능성이 높습니다. 따라서 if 문으로 수정하는 것은 해결방법이 될 수 있으나, 주요 로직의 검증 방식을 if 문으로 대체하는 것은 프로그램의 안정성과 유지보수 측면에서 바람직한 접근입니다.

Release 모드에서도 동일하게 동작 확인이 필요한 로직은 assert 대신 if 문을 사용하여 명시적으로 처리하는 것이 좋습니다. 이렇게 함으로써 서버가 Debug 모드뿐만 아니라 Release 모드에서도 안정적으로 작동하도록 할 수 있습니다.

문제집은 없나요 수업을 어떻게 들어야 할지 모르겠어요

0

106

2

동적배열 Vector의 push_back 함수에서 조건문 질문

0

74

1

디버깅할때 메모리보는법 단축키가 뭐죠??

0

89

1

113-충돌처리 강의에서 22:26 부근의 SetPos()를 적용해도 충돌되지 않고 뚫고 지나가게 됩니다.

0

87

1

SaveFile에서 크래시 발생하는 분들 체크해보세요

1

70

1

수업자료 확인 부탁드립니다.

0

105

3

explicit을 붙였을 때 빨간줄이 뜨는 이유가 맞는지 궁금합니다.

0

100

0

22강에서 구조체와 포인터로 설명해주셨는데 패딩의 경우는 어떻게 되나요?

0

88

2

리소스 매니저 강의 18분 부근

0

89

1

[Service강의] owner -> shared_ptr

0

80

2

C#에서 생성자 관련 질문

0

83

2

특정 조건에서만 함수를 반환할 때

0

90

2

스택 empty

0

105

2

섹션4 배열실습 질문입니다.

0

132

1

섹션3 '파일분할' 강의 질문입니다.

0

99

1

Defines.h의 DECLARE_SINGLE관련 질문입니다.

0

110

1

세션8 우선순위 큐 pop함수의 Predicate 적용 관련 질문이 있습니다.

0

180

3

섹션9 함수 포인터 관련 질문입니다.

0

137

1

exercise_A 번 문제 해결방법에 대한 질문.

0

150

1

[강의명: virtual 소멸자] 자식 클래스의 소멸자에도 virtual 을 붙이시는 이유가 궁금합니다

0

198

2

Scene과 SceneManager 강의 수강 중 키보드 입력 오류

0

146

1

Window API 강의 수강 중 LARGE_INTEGER 타입 변환 오류

0

198

3

섹션15 스마트 포인터 20:00 질문이요!

0

127

1

55강 수업자료 빌드를 하면 이상합니다.

0

132

1