我的程序在Debug版下是正常运行的,但是,在Release版下就处了一些问题,总是死机,我没用Debug宏封任何代码,现在不知道如何调查,请问,谁知道在Release下如何调试程序,像在Debug版一样,可以设置断点?谢谢!!!!

解决方案 »

  1.   

    不能设置断点的。比较可行的办法是自己开log文件,把执行历程记录到文件里。
    通过观察log的方法检查执行流程是否正确。============================================================================
    提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题
    http://www.betajin.com/alphasun/index.htm          给我发信息请附带原帖地址
    http://alphasun.18en.com/                    http://shakingtoolkit.9126.com/
    DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析
      

  2.   

    支持alphapaopao(炮炮), 你可以:
    ///////////////////////////////////////////////////////////////////
    // 调试跟踪函数#if TRACEDBG // 写入调试区
    void PrintMessage( LPSTR lpszFormat, ... )
    {
    char buf[520];
    va_list va; va_start(va, lpszFormat);
    vsprintf(buf, lpszFormat, va);
    va_end(va); strcat(buf,"\r\n"); TRACE0(buf);
    }
    #elif FILEDBG // 写入跟踪文件
    void PrintMessage( LPSTR lpszFormat, ... )
    {
    FILE* fp;
    char aBuffer[MAX_PATH];
    va_list va; va_start( va, lpszFormat );
    vsprintf( aBuffer, lpszFormat, va );
    va_end( va ); fp = fopen( "c:\\BSDebug.txt", "a" );
    if( fp )
    {
    fprintf( fp, "%s", aBuffer );
    fclose( fp );
    }
    }
    #else // 不做操作
    void PrintMessage(LPSTR lpszFormat, ...)
    {
    }
    #endif
      

  3.   

    你可以在Porject->Settings中定义预编译宏:TRACEDBG、FILEDBG 根据不同需要分别写入调试区、Log文件或者不进行任何操作.