我现在有一个问题,我的程序是一个对串口进行读写的程序,我开了一个线程,并且循环去读串口数据,但是在DEBUG版本下可以正常运行,但是在RELEASE版本下读串口数据的时候就会出现异常,请问这个是什么原因,我想调试RELEASE版本下的程序,只能写日志吗??还有其他更好的办法吗,如果写日志,我打算在我开的线程里面使用CFile来进行写日志,或者是用fopen来写日志,哪个更好点???

解决方案 »

  1.   

    你改一下项目属性中Release配置的编译和连接设置,只要生成标号文件就可以调试。如果是VS2005,什么都不用改直接就可以调试Release版,VC6好象只要连接的时候生成pdb文件就可以。
      

  2.   

    VS2005下调试不是很好。特别是单步调试的时候,可能其指示的语句和实际的语句并不对应。如果DEBUG和Release版不一致,说明代码中肯定有BUG,最好仔细检查一下代码。至于CFile和fopen哪个好,很难说。习惯用哪个就用哪个吧。
      

  3.   

    cnzdgs,请问一下,具体应该怎么改,我还不是太懂,谢谢!
      

  4.   

    因为我需要把从串口中读取到的数据,根据我的需要,显示在Tab Control子窗口中,所以我使用了很多全局变量来保存每个子窗口的句柄,会不会和这个有关系???如果有,怎么解决???
      

  5.   

    编译Release版,先把optimize去掉,看看还出错不?