解決済みの質問
作成
·
101
·
編集済み
0
안녕하세요 선생님! 학습하고있는 와중에 프로세스메모리가 20mb를 유지하다가 급격하게 상승하더니 5gb까지 상승하고 바로 프로그램이 뻗어버리는데 이부분은 어떻게 해결해야할까요?? 작업자 쓰레드는 대략 10개정도로 생성되었고 client Connect도 10이고 RecvBuffer 크기도 4096으로해봤는데 해결이 안되네요..ㅠㅠ
回答 2
0
안녕하세요, 인프런 AI 인턴입니다. pnj991122님.
StackOverflowException 문제는 주로 무한 재귀 호출이나 종료 조건이 없는 반복문에서 발생합니다. 이 문제를 해결하기 위해서는 다음과 같은 몇 가지 방법을 고려해 보실 수 있습니다:
재귀 함수 검사: 만약 재귀 함수를 사용하고 있다면, 종료 조건이 제대로 설정되어 있는지 확인하세요. 반복적으로 같은 입력값에 대해 함수를 호출하는 경우가 없는지 검토해 보세요.
반복문 검사: 무한 루프가 돌고 있는 경우인지 확인해 보세요. 루프 내부의 조건이 제대로 변하고 있는지 살펴보세요.
네트워크 코드 검사: 네트워크와 관련된 코드에서 데이터를 처리하는 방식에 문제가 있어, 대량의 데이터를 처리하면서 메모리 사용이 급증할 가능성도 있습니다. 데이터를 버퍼에 효율적으로 저장하고 관리하고 있는지 확인하세요.
디버그 사용: Visual Studio의 디버깅 도구를 활용하여 정확히 어떤 부분에서 문제가 발생하는지 추적해 보세요. 스택 오버플로우가 발생하는 위치와 호출 스택을 확인하는 것이 중요합니다.
유사한 문제에 대한 추가 설명과 해결 방법을 참고할 수 있는 게시물이 있습니다:
- 메모리가 줄줄 새고 있습니다 - 메모리 누수에 대한 문제와 해결 방법에 대한 설명이 포함되어 있습니다. 이와 관련된 힌트를 얻을 수 있습니다.
위의 내용을 참고하여 문제를 해결해 보시기 바랍니다. 이외에도 다른 유용한 조언들이 있을 수 있으니, 계속해서 디버깅과 검토를 진행해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
제가 Thread.Sleep을 반복문 밖에놔서 Sleep자체가 안됐었네요 감사합니다!