请教, 我有一个VC工程, 在使用Debug版的时侯一切正常, 但生成Release版的时侯却发现工作的极不稳定, 经常会在程序运行中发现异常, 不知道VC的Debug和Release 有什么区别。请问各位有没有这样的情况, 有什么解决的办法, 

解决方案 »

  1.   

    当然有区别了,Debug版本是带有调试信息的,同时程序没有被优化的。
    在缺省的情况下,Release没有调试信息,Maximum speed优化,如果
    程序本身存在一些内存问题,被优化后可能导致不稳定。个人观点,欢迎讨论这个问题!
      

  2.   

    解决办法:
        在Release版本的工程中打开“工程设置”,将优化的级别降低
    应该就可以。
      

  3.   

    看看你有没有new一些指针,在Debug下系统帮你把这些东西release掉了,可是在Release下必须手工Release掉。
      

  4.   

    看看有没有#ifdef DEBUG的宏.然后比方说TVITEM的pszText要先分配内存等.最好装个boundschecker查查出错原因.
      

  5.   

    通常调试时用debug, 做版本时Release.
    具体的也没考虑过
      

  6.   

    Debug版本是带有调试信息的,
    Release没有调试信息,Maximum speed优化.一般情况下是用debug版调试,只要能运行,然后发布的时候转成release版,它比debug版体积要小,而且可以在没有vc环境的机器里运行。
      

  7.   

    debug版本较大,一般不能在调试环境外运行,如要运行还需要一些DLL,如MFC40。DLL等;release版本较小,也比较独立,一般用来发布正式版本。
      

  8.   

    还有Release版本不仅体积小,而且速度比Debug的速度快很多倍!
      

  9.   

    还有Release版本的体积不仅小,而且运行速度比Debug快很多!
      

  10.   

    你的问题是由于你书写程序的习惯不好造成的。
    debug版本由于调试需要,会给你初始化一些东西,会为你检查边界。
    所以,你的程序里有数组越界,字符串不收尾等情况,debug版本也可能正常运行。
    但Release版本不会替你做任何本该你自己做的事。所以你得检查好你的程序,自己保证任何引用都是有效的。数组空间是足够的。每一个字符窜都是以0结尾的,等等。
    这样,你就会发现Release版本和Debug差别就是体积小、速度快。