Programming/MFC-C++

dll 프로젝트에서 콘솔 창 띄우기 (디버깅 용)

빠릿베짱이 2013. 11. 26. 18:52
반응형

dll을 작성하다 보면, 실제 다른 응용프로그램에 붙였을 경우,

디버깅이 필요하게 된다.

이를 위해 콘솔창을 띄어, dll의 함수마다 로그를 출력하여 디버깅을 수행할  수 있다.

 

AllocConsole();

해당 함수는 콘솔창을 생성하는 함수이다.

본인은 dll의 생성자에서 위의 함수를 사용하였다.

void dllTest::WriteLog(WCHAR* str)
{
     HANDLE han = GetStdHandle(STD_OUTPUT_HANDLE);
     DWORD dwBytesWriten;
     WriteConsole(han, str, wcslen(str),&dwBytesWriten,0);
}

위의 함수는 생성된 콘솔창에 로그를 찍는 함수이다.

다음과 같이 호출을 하면, 생성된 콘솔창에 로그가 출력된다.

WCHAR buff[256];
 wsprintf(buff, _T("compution time : %d ms\n"), GetTickCount()-tick);
 WriteLog(buff);

 

 

반응형