DCL Project / 사용자 매뉴얼 / DCL Runtime Debugging Support

소프트

DCL Project / 사용자 매뉴얼 / DCL Runtime Debugging Support

리치 앱

사용자 메뉴얼 > 내용보기

 
목록 | 맨 위로 | 위로 | 아래 | 이전 | 다음

제목 : DCL Runtime Debugging Support

글쓴이: 고운소프트 | 게시한 날짜: Thu May 18 11:13:20 KST 2017
| 글 날짜: Wed Jun 08 00:00:00 KST 2005 | 열람수: 0 | 추천수: 0 | 비난수: 0

요약

버그 없는 소프트웨어를 개발하는 것은 결코 쉬운 일이 아니다. 대부분의 상업적 개발 도구들이 소스프로그램을 추적할 수 있도록 하는 디버깅 환경을 제공하고 있고 이러한 것들은 단위 함수들을 디버깅 하는데 있어서 매우 유용한건 사실이다. 그러나, 시스템 전반에 걸친 문맥(context)오류를 발견하기 위해서는 별로 도움이 되지 못한다. 특히, 메모리 누출과 같은 버그들은 기존의 소프트웨어 개발 도구를 사용하여 발견해 내는 것은 거의 불가능 하다고 할 수 있다. 따라서, 이러한 것들을 위해서는 프로그램 작성 단계에서부터 버그의 원인을 알아내도록 하는 대책이 필요하다.

이러한 사유로 DCL은 소스 코드 차원에서의 디버깅을 위한 코드 삽입을 자동화 하도록 하여 소프트웨어의 개발 단계 및 테스트 단계에서 필요한 정보를 생성하도록 하는 런타임 환경을 제공하고 있다. 특히, 동적 메모리 관련 디버깅 환경 부분은 프로세스 뿐만 아니라 다중 스레드 어플리케이션에서 각각의 스레드별 추적도 가능 하도록 하고 있다.

본 문서는 런타임 디버깅 환경을 위한 DCL의 ASSERT, TRACE, 그리고 동적 메모리 할당과 관련한 참조 매뉴얼을 제공한다.

목차

  1. 디폴트 컴파일러 매크로

    • _DEBUG
    • NDEBUG
  2. 디버그 버전 라이브러리 컴파일 매크로

    • _DCLDEBUG
    • _DCLHAVEALLOCDEBUG
    • _DCLHAVESTRINGALLOC_DEBUG
    • _DCLHAVETHROWLOCATION
    • _THISFILE__
  3. 디버그 라이브러리의 메시지 출력

    • DCLInitialize
    • DCLCleanup
    • DCLDebugSetGlobalReport
    • DCLDebugSetThreadReport
    • OutputStream
  4. ASSERTION

    • ASSERT
    • VERIFY
    • DCLAssert
    • DCLAssertSetAction
  5. TRACE

    • TRACE의 종류
    • DCLTrace
  6. 동적 메모리 디버그

    • Functions and Operators
    • DCLDebugGetLastAllocPosition
    • DCLDebugDumpThreadMemoryLeak
    • DCLDebugDumpGlobalMemoryLeak
  7. 예외(exception) 위치 보고

    • _DCLTHROW