혹시, 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에러가 많이 나던데..
: 이게 유닉스의 세그먼테이션 폴트 같은 에러죠..?
:
: 고수님들의 답변 기다리겠습니다.
:
|