프로그램의 목적은

리눅스 서버에서 파일을 읽고

읽은 내용을 temp에 저장하여 리스트에 push_back 한다음

총 사이즈를 먼저 보낸다음

클라이언트에게 모든 리스트를 한개씩 끊어 memcpy 하는 기능입니다.


근데 이해할 수 없는 점이 있습니다.


1. -g 옵션을 붙여도 symbol 테이블이 로드가 안됩니다. -ggdb도 마찬가지.

gdb가 되면 혼자 찾아보겠지만 symbol 테이블이 로드가 안되는 것이 가장 치명적인 것 같습니다.

컴파일은 g++ -g -o 실행파일 헤더.h 클래스헤더.h 클래스멤버함수.cpp 메인함수.cpp -lpthread로 진행하였습니다.


2. 프로그램 자체의 문제는 push를 할 때 데이터를 1개 push하고 그다음 세그먼트 폴트가 발생한다는 점입니다.

파일이나 코드엔 아무런 문제가 없는 것 같은데 어디서 세그먼트 폴트가 발생하는지 납득이 안됩니다.


3. 근데 웃긴것은 gdb 모드에서 실행시 제대로 데이터를 push하고 보낸다는 것입니다. 

둘이 무슨 차이라고 같은 코드로 만든 실행파일에서 이런 일이 발생하는 걸까요?


솔직히 이제 해결법이 없다고 생각댑니다 어케해야될지 몰겠네여

뭐라도 해볼 방법이 떠오르시는 분들은 도움을 주시기 바람니다