printf를 이용하여 콘솔 디버깅하기

Visual Studio와 같은 IDE를 사용할 수 없는 개발환경에서 gdb 등을 통해서 디버깅하기 곤란한 경우가 있을 수 있다.
그러한 경우에 임시로 ANSI C에서 미리 정의해둔 매크로들을 이용하여 콘솔 디버깅을 할 수 있다.
물론, 에러레벨이나 메세지까지는 찍을 수 없지만, 적어도 어디까지는 작동하는지 등을 파악할 수 있다.

ANSI C에서 미리 정의해둔 매크로는 다음과 같다.

  • __LINE__ : 컴파일되는 순간 코드의 라인 넘버로 치환된다. 공백 줄을 모두 포함하기 때문에 일반적인 IDE에서 보는 코드 라인이 된다.
  • __DATE__ : 컴파일되는 순간의 날짜로 치환된다.
  • __TIME__ : 컴파일되는 순간의 시스템 시간으로 치환된다.
  • __FILE__ : 컴파일되는 순간의 파일 이름으로 치환된다.
  • __func__ : 컴파일되는 순간, 함수 이름으로 치환된다.

이들 매크로를 사용하여 다음과 같은 예제를 작성했다.

그리고 위 코드에 대한 결과는 다음과 같다.

댓글 남기기