Chapter 16. 디버깅

 QuickWatch

QuickWatch 를 이용해서 Watch부분에 특정 변수의 값을 입력할 경우 그 변수의 값이 변하게 된다.

 

ASSERT() 와 VERIFY()

비주얼 C++ 개발 도구를 사용하는 경우 사용하는 디버깅 함수이다.

MFC응용프로그램 릴리즈 모드 에서는  ASSERT문이 주석처리가 된다.

따라서 함수 호출의 성공 여부를 확인하기 위해 ASSERT 사용

 사용 중인 경우에는 VERIFY 사용

 

  1. #define ASSERT(e) ((e) ? (void)0 : _assert(_FILE_, _LINE_, #e))

표현식 e가 참이면 0 실행, 거짓일 경우 화면에 파일 이름과 줄 번호를 출력

 

  1. char *buf;
  2. VERIFY( buf = (char*)calloc( 20, sizeof(char ) );
  3. strcpy( buf, "Hello World");
  4. free( buf );

 

일반적인 C프로그램에서는 assert() 함수를 사용한다.

  1.  #include <assert.h>

     

     void PrintAge( int num )
     {

    assert( num > 0 );

    printf("My Age : %d", num );

    }

num이 0과 같거나 작은 값이 들어오면 프로그램 실행을 중지하고 메시지를 출력한다.

Assertion failed : num > 0, file d:\test\test.c line 17

 

 

이 글은 스프링노트에서 작성되었습니다.

'책 정리 > 좋은 프로그래밍 습관' 카테고리의 다른 글

Chapter 15. 전처리기  (0) 2009.09.04
Chapter 14. 공용체  (0) 2009.09.04
Chapter 13. 구조체  (0) 2009.09.04
Chapter 12. 함수 포인터  (0) 2009.09.04
Chapter 11. 포인터  (0) 2009.09.04

설정

트랙백

댓글