OutputDebugString

원형

VOID OutputDebugString(LPCTSTR lpOutputString);

MFC 원형

해당하는 함수 없음. TRACE라는 매크로가 비슷한 역할을 한다.

인수

▶lpOutputString : 출력하고자 하는 문자열

리턴

리턴값 없음

설명

문자열을 디버거로 출력한다. 이 함수는 순수한 디버깅용의 함수이며 디버깅중에 프로그램의 실행 흐름과 상태를 쉽게 확인하기 위해 사용한다. 디버거(보통 비주얼 C++)가 없을 경우 시스템 디버거로 문자열을 보내며 시스템 디버거도 없을 경우 이 함수는 아무 일도 하지 않는다. 프로그램 실행중에 변수값이나 제어의 흐름을 확인하고자 할 때 메시지 박스 대신 이 함수를 사용한다.

예제 1

다음 예제는 윈도우 생성 및 마우스 클릭에 대한 정보를 디버거로 보낸다.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	char str[256];

	switch(iMessage) {
	case WM_CREATE:
		OutputDebugString("윈도우를 생성하고 있는 중이다\r\n");
		return 0;
	case WM_LBUTTONDOWN:
		wsprintf(str,"마우스 버튼 누름. 현재 위치 = (%d,%d)\r\n",
			LOWORD(lParam),HIWORD(lParam));
		OutputDebugString(str);
		return 0;
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

비주얼 C++로 디버깅할 경우 문자열이 Output 창에 나타나는데 이 정보는 디버깅에 유용하게 사용된다. 릴리즈로 컴파일할 경우 이 함수는 아무 일도 하지 않으므로 굳이 삭제할 필요는 없다.

참고함수

 

플랫폼

95이상

참조

 


written by http://www.winapi.co.kr