调试常用方法

来源:互联网 发布:栅格数据和矢量数据 编辑:程序博客网 时间:2024/05/16 12:49

方法一 :WriteConsole

void NewConsole() {AllocConsole() ;g_hStdOut = GetStdHandle(STD_OUTPUT_HANDLE) ;TCHAR szText[] = _T("Debug Message...:\n") ;WriteConsole(g_hStdOut, szText, wcslen(szText), NULL, NULL) ;}


方法二:日志

#include <locale.h>void MyLogs(LPCTSTR szLog, ...){setlocale(LC_ALL , "" );//格式化日志内容CString csLogs;va_list args;va_start(args, szLog);csLogs.FormatV(szLog, args);va_end(args);//拼接存储路径CString strFullPath ;TCHAR szPath[MAX_PATH] = { 0 };TCHAR* lpChar = NULL;::GetModuleFileName(NULL, szPath, MAX_PATH);lpChar = _tcsrchr(szPath, '\\');*lpChar = '\0';strFullPath.Format(_T("%s\\Logs.log"),szPath);//增加时为日志头SYSTEMTIME tm;::GetLocalTime(&tm);TCHAR tmpbuf[100];memset(tmpbuf, 0, 100);FILE* afp = _tfopen(strFullPath,_T("a"));if(afp){_stprintf(tmpbuf, _T("%.4d-%.2d-%.2d_%.2d:%.2d:%.2d:%.2d"), tm.wYear, tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond, tm.wMilliseconds);fwrite(tmpbuf, 1, _tcslen(tmpbuf)*sizeof(TCHAR), afp);_fputts(csLogs,afp);_fputts(_T("\n"),afp);fclose(afp);}}


原创粉丝点击