C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[55069] iterator 의 사용이 이상한지 Signal11이 났어요 ㅜㅜ
s2y [] 1117 읽음    2008-10-30 22:59
다름이 아니라 하나의 서비스를 만들어 1달정도 문제없이 모니터링 중이었는데...

어느순간부터 Server down [signal : 11] 이라는 메시지가 뜨면서 서비스가 죽어버립니다.

해당 서비스의 로그를 살펴본 후 문제가 되는 곳을 찾기위해서 print를 했더니 다음 구문에서 문제가 발생하더군요.



구조체의 값은 이미 채워진 후 while(1) 을 돌면서 호출하며 nextTime이 되면 다시 호출을 합니다.

time_t를 이용하여 현재 시간을 구하고 interval을 주어 현재시간(curTime)+interval = 차기시간(nextTime) 으로 합니다.

for(vector<struct viConfigInfo_t *>::iterator it=mConfigList.begin(); it!=mConfigList.end(); ++it)
{
    viTargetInfo_t target;
    (*it)->CopyData(target);
}



while(1)을 사용하여 무한루프를 돌면서 위의 코드를 호출하게 되는데요...

첫번째 루프를 돌면서 호출했을때는 제대로 작동을 합니다만 정해진 시간이 지난 후 두번째 루프를 돌때부터
Server down [signal : 11]이 발생합니다.

구조체가 깨어지는것 같은데...

mConfigList의 주소값과 사이즈는 첫번째 루프때와 두번째 루프때 모두 같습니다.

mConfigList address = [6b068], size = [1] ========> 최초 주소값과 사이즈
mConfigList address = [6b068], size = [1] ========> 두번째 주소값과 사이즈

대체 어떤 문제가 있길래 최초 호출은 제대로 실행이 되고 두번째 호출은 Signal : 11로 down 될까요?

+ -

관련 글 리스트
55069 iterator 의 사용이 이상한지 Signal11이 났어요 ㅜㅜ s2y 1117 2008/10/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.