//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1997-2001. // // File: Debug.cpp // // Contents: // //---------------------------------------------------------------------------- // Debug.cpp #include "stdafx.h" #include "debug.h" #include "util.h" #ifdef DEBUG #define DoBreakpoint() DebugBreak() void DoDebugAssert(LPCTSTR pszFile, int nLine, LPCTSTR pszExpr) { TCHAR szBufferT[2048]; wsprintf(OUT szBufferT, _T("Assertion: (%s)\nFile %s, line %d."), pszExpr, pszFile, nLine); int nRet = MessageBox(::GetActiveWindow(), szBufferT, _T("Send Console Message - Assertion Failed"), MB_ABORTRETRYIGNORE | MB_ICONERROR); switch (nRet) { case IDABORT: DoBreakpoint(); exit(-1); case IDRETRY: DoBreakpoint(); } } // DoDebugAssert() ///////////////////////////////////////////////////////////////////////////// void DebugTracePrintf( const TCHAR * szFormat, ...) { va_list arglist; TCHAR sz[1024]; Assert(szFormat != NULL); va_start(arglist, szFormat); wvsprintf(OUT sz, szFormat, arglist); Assert(lstrlen(sz) < LENGTH(sz)); sz[LENGTH(sz) - 1] = 0; // Just in case we overflowed into sz ::OutputDebugString(sz); } // DebugTracePrintf() #endif // DEBUG