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
[18724] Re:[질문] 프로그램실행중에 에러가나서 죽는경우 에러를 가로챌려면?
유영인 [Chris] [cuperido] 1400 읽음    2002-05-22 09:31
혹시, Linux의 GDB 같은 기능을 원하시나요?

GDB 같은 프로그램은 아직 저도 보지 못했구요.. (만약 어셈블러에 자신이 있으시다면 Soft-ICE 도 괜찮으실 것 같습니다) GDB 처럼 에러가 날때 브레이크는 걸지 못하지만, core 파일을 찾아서 역으로 들어가는 기능과 비슷하게는 구현할 수 있습니다.

에러가 나면 다음과 같은 문장이 뜨게 됩니다.

- Access Violation at address 400613BC in module ............................

address에 있는 400613BC를 적어 두시고, 프로그램을 종료하지 않은 런타임 상태에서 빌더 메뉴의 [Search] - [Go To Address] 란으로 들어갑니다.

그래서, 위의 주소를 16진수로 0x400613BC 이렇게 적어주면, CPU 창이 하나 뜨는데요, 그 주소의 부근이 에러가 난 부근입니다. 그 앞에 브레이크 포인트를 잡으시고, F8 키를 천천히 눌러 Trace 하시다 보면, CPU 창에 어셈만이 아닌, 소스코드가 보이는데, 이 소스코드에 문제가 생겼을 확률이 높습니다.

물론, 에러를 한번 더 낼 수 있는 상황이라면 브레이크 포인트를 잡으시고 바로 한번 에러를 더 나게해서 어디가 에런지 잡으시면 되겠지요.

메모리 누수로 인한 문제는 CodeGuard도 많은 도움이 되실껍니다. 아래를 클릭해주세요~

http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=18076



민인학 님이 쓰신 글 :
: 프로그램을 아무리 잘 만들었다해도 버그가 있기 마련이잖아요..
: 그런데.. 제가 유닉스에서 프로그래밍을 할땐 Segmentation Fault에러가 나서 죽을땐
: 그 에러를 가로채서 창을 띄워서 그곳에 버그리포팅을 어디로 해달라라는 창을 띄웠는데..
: 빌더에서도 그런 기능이 있나요?
: 꼭좀 부탁드립니다..
: 보통 Access Violation에러가 많이 나던데..
: 이게 유닉스의 세그먼테이션 폴트 같은 에러죠..?
:
: 고수님들의 답변 기다리겠습니다.
:

+ -

관련 글 리스트
18714 [질문] 프로그램실행중에 에러가나서 죽는경우 에러를 가로챌려면? 민인학 840 2002/05/21
18724     Re:[질문] 프로그램실행중에 에러가나서 죽는경우 에러를 가로챌려면? 유영인 [Chris] 1400 2002/05/22
18716     Re:[질문] 프로그램실행중에 에러가나서 죽는경우 에러를 가로챌려면? 하느리 899 2002/05/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.