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
[63287] EAccessViolation 문제
알론소 [smire4454] 3743 읽음    2010-12-17 15:19
프로그램이 돌다가
갑자기

read of access violation 오류 뜨면서 주소값뜨고
경고창 뜨면서 그것도 수십개의 경고창이떠서
프로그램이 멈춰버릴정도로 뜨거든요
그래서 제가 이게 도대체 어느 함수에서 일어나는지 한번
찍어봤거든요

소스는 아래구요

    MAP_VDS_TCDV::iterator now;

    try
    {
        for ( now = Map_LoopTCDV.begin(); now != Map_LoopTCDV.end(); ++now )
        {
                if ( now->second.useyn && now->second.comm)
                {
                    now->second.m_pObject                       = new CVdsObject(this);
                    memcpy(now->second.m_pObject->tcdv_info.tcdv_id ,now->second.tcdv_id, 10);
                    now->second.m_pObject->tcdv_info.TS_IP      = now->second.TS_IP;
                    now->second.m_pObject->tcdv_info.TS_Port    = now->second.TS_Port;
                    now->second.m_pObject->tcdv_info.m_Polling  = now->second.m_Polling;
                    now->second.m_pObject->tcdv_info.useyn      = now->second.useyn;
                    memcpy(now->second.m_pObject->tcdv_info.addr_id ,now->second.addr_id, 4);
                    now->second.m_pObject->Init();

                    if ( now->second.m_pObject->Connect())
                        now->second.m_pObject->Resume();
                    else
                    {
                        delete now->second.m_pObject;
                        now->second.m_pObject = NULL;
                    }  // end of else
                }  // end of if
        }  // end of for
    }
    catch( Exception &e )
    {
        AnsiString error;
        error.sprintf("ERRORmainTimerConnect : %s, %s",e.Message, );
        AddMsg(error.c_str());
    }

로그가 아래처럼
ERRORmainTimerConnect : EAccessViolation
이렇게 로그가 남기는거 보니 저함수인거같더라구요.
근데 이게 어디가문제인지모르겠어요

read를 할수 없다고하는거보니까 빈값이나 뭐 now가 없는상탠데 읽을려그러니까
그러는거같은데
만약에 now가 begin()이랑 end() 같다면 저 for문을 빠져나가서 문제없을꺼같구
안같으니까 for 문을 도는데 도대체 어디가문젠지모르겠어요

이거 타이머가 시간이 딱되서 코드를 실행시키고있는데
중간에 통신이 끊어져서 어디가 delete되거나 그래서그런건가요?
막상 로그남긴거봤는데 어느줄에서문젠지
어떻게해야할지모르겠어요.ㅠㅠ 저소스만보고선 파악못하나요

+ -

관련 글 리스트
63287 EAccessViolation 문제 알론소 3743 2010/12/17
63289     Re:EAccessViolation 문제 땅주인 2169 2010/12/17
63298         Re:Re:EAccessViolation 문제 알론소 1505 2010/12/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.