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
[41534] Re:memcpy 사이즈를 잘못썼을때...
서정국.새더 [mmouse] 1634 읽음    2005-08-19 01:08
Structured Exception Handling 혹은 줄여서 SEH 로 검색해 보세요
__try, __except 로 런타임시 Access Violation 부터 해서 많은 경우를
런타임시 캐치해서 특정 작업(콜스텍을 추적한다던지) 을 진행 할 수 있습니다.

간단하게 예를 들자면 아래와 같습니다.

void ExceptionHandler(EXCEPTION_POINTERS * pException)
{
    if(pException->ExceptionRecord->ExceptionCode == EXCEPTION_ACCESS_VIOLATION)
        ::MessageBox(NULL, "Access Violation", "Error", NULL);
}


int main(int argc, char* argv[])
{
    __try
    {
        int * p = NULL;
        *p = 0;
    }

    __except(ExceptionHandler(GetExceptionInformation()))
    {
    }

    return 0;
}

p.s : exception 이 발생 했을때 그 순간 메모리를 바로 덤프 할 수 있는데 MiniDumpWriteDump 를 사용하시면 되고
추후에 윈디버거로 열어보면 그순간을 똑같이 재현 해 디버깅을 쉽게 해줍니다.

+ -

관련 글 리스트
41516 memcpy 사이즈를 잘못썼을때... 마제 1018 2005/08/18
41543     두분 답변 감사합니다... 마제 1069 2005/08/19
41534     Re:memcpy 사이즈를 잘못썼을때... 서정국.새더 1634 2005/08/19
41518     Re:memcpy 사이즈를 잘못썼을때... 유영인 Cuperido 2165 2005/08/18
41520         Re:Re:memcpy 사이즈를 잘못썼을때... 마제 1069 2005/08/18
41555             Re:Re:Re:memcpy 사이즈를 잘못썼을때... evergreen 1367 2005/08/20
41522             Re:Re:Re:memcpy 사이즈를 잘못썼을때... 유영인 Cuperido 2227 2005/08/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.