Changeset 417
- Timestamp:
- May 6, 2015, 9:09:40 AM (8 years ago)
- Location:
- trunk/Utilities/Miscellaneous/AtlReleaseTrace
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Utilities/Miscellaneous/AtlReleaseTrace/AtlReleaseTrace.cpp
r416 r417 15 15 ATLTRACE(atlTraceGeneral, 4, "Line %d\n", __LINE__); 16 16 ATLTRACE(atlTraceGeneral, 4, L"Line %d\n", __LINE__); 17 for(; ; ) 18 { 19 _Y1(_T("Line %d"), __LINE__); 20 break; 21 _Y2(); 22 } 17 23 return 0; 18 24 } -
trunk/Utilities/Miscellaneous/AtlReleaseTrace/roatlreleasetrace.h
r416 r417 69 69 70 70 public: 71 // CDebugTrace 72 CDebugTrace() : 73 m_pszFileName(NULL), 74 m_nLineNumber(0), 75 m_pszFunctionName(NULL) 76 { 77 } 71 // CDebugTrace 78 72 CDebugTrace(LPCSTR pszFileName, INT nLineNumber, LPCSTR pszFunctionName) : 79 73 m_pszFileName(pszFileName), … … 177 171 #define _Z5 ATLTRACE 178 172 #define _Z6 ATLTRACE 173 174 class CDebugTraceContext : 175 public CDebugTraceBase 176 { 177 private: 178 LPCSTR m_pszFileName; 179 INT m_nLineNumber; 180 LPCSTR m_pszFunctionName; 181 CString m_sText; 182 BOOL m_bTerminated; 183 184 public: 185 // CDebugTraceContext 186 CDebugTraceContext(LPCSTR pszFileName, INT nLineNumber, LPCSTR pszFunctionName) : 187 m_pszFileName(pszFileName), 188 m_nLineNumber(nLineNumber), 189 m_pszFunctionName(pszFunctionName), 190 m_bTerminated(FALSE) 191 { 192 } 193 ~CDebugTraceContext() 194 { 195 if(!m_bTerminated) 196 { 197 CString sText; 198 sText.Format(_T("%hs(%d): %hs: Context not terminated"), ShortFileNameFromFileName(m_pszFileName), m_nLineNumber, m_pszFunctionName); 199 if(!m_sText.IsEmpty()) 200 sText.AppendFormat(_T(", %s"), m_sText); 201 sText.Append(_T("\r\n")); 202 OutputDebugString(sText); 203 } 204 } 205 VOID Terminate() 206 { 207 m_bTerminated = TRUE; 208 } 209 __forceinline VOID __cdecl operator () (LPCSTR pszFormat, ...) 210 { 211 va_list Arguments; 212 va_start(Arguments, pszFormat); 213 CStringA sText; 214 sText.FormatV(pszFormat, Arguments); 215 m_sText.Append(CString(sText)); 216 va_end(Arguments); 217 } 218 __forceinline VOID __cdecl operator () (LPCWSTR pszFormat, ...) 219 { 220 va_list Arguments; 221 va_start(Arguments, pszFormat); 222 CStringW sText; 223 sText.FormatV(pszFormat, Arguments); 224 m_sText.Append(CString(sText)); 225 va_end(Arguments); 226 } 227 }; 228 229 #define _Y1 CDebugTraceContext DebugTraceContext(__FILE__, __LINE__, __FUNCTION__); DebugTraceContext 230 #define _Y2 DebugTraceContext.Terminate
Note: See TracChangeset
for help on using the changeset viewer.