看看Release和Debug的配置是否一样?所依赖的库在Release下是否都正常包含了?

解决方案 »

  1.   

    说两个方法把:
    1.就是Rlease也可以断点,就算内存显示的内容错误,你只要找崩溃点,附加信息别看,看代码行位置也可以。2.Release在崩溃的时候导出Dump文件,分析DUMP文件,VS自带的或者其他工具都可以
    (1)程序初始化的时候
    SetUnhandledExceptionFilter(你注册的崩溃回调函数);
    (2)在你注册的崩溃回调函数里面
    MiniDumpWriteDump输出崩溃文件
      

  2.   

    其他依赖的文件是否都有
    Debug版本对应Debug依赖的DLL等,Release对应Relesae的
      

  3.   

    程序根本就没有运行起来,一启动就报错。连 InitInstance() 函数就进不去
      

  4.   

    编译不够齐全吧,编译release版本,在编译的时候最好把需要的库都编译进去。
      

  5.   

     报错 :0xC0000142: DLL Initialization Failed
      

  6.   

    应该是有个DLL 引用不成功,现在报 无法定位**到**.DLL但我在DEBUG下无任何问题
      

  7.   


    报错信息如下:
    下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号】user32.dll
    msvcr90d.dllmsvcr90d.dll 是debug版本下的东西吧? 可我编译的是relase版本  如果是这样的话  那是不是可以推测我的配置有问题? 可是哪个配置项会导致此问题呢?
      

  8.   

    debug下变量没有被初始化可能没有出问题,但release 下就可能出问题,要养成给所有变量赋初值的好习惯。
      

  9.   


    报错信息如下:
    下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号】user32.dll
    msvcr90d.dllmsvcr90d.dll 是debug版本下的东西吧? 可我编译的是relase版本  如果是这样的话  那是不是可以推测我的配置有问题? 可是哪个配置项会导致此问题呢?release版错用了debug版的库导致的问题,比如release版用的是debug版的lib,或者release目录下的lib和debug版的lib同名,造成无法区分debug版和release版。建议debug版的lib取名时带上d,如testd.lib,release版的叫test.lib,别都叫test.lib。
      

  10.   


    报错信息如下:
    下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号】user32.dll
    msvcr90d.dllmsvcr90d.dll 是debug版本下的东西吧? 可我编译的是relase版本  如果是这样的话  那是不是可以推测我的配置有问题? 可是哪个配置项会导致此问题呢?release版错用了debug版的库导致的问题,比如release版用的是debug版的lib,或者release目录下的lib和debug版的lib同名,造成无法区分debug版和release版。建议debug版的lib取名时带上d,如testd.lib,release版的叫test.lib,别都叫test.lib。
    》》重新编译了所有的DLL 工程,全部release .问题依旧 
    调用堆栈:> ntdll.dll!7c92120e() 
      [下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号]
      ntdll.dll!7c92118e() 
      ntdll.dll!7c93b5d2() 
     
      ntdll.dll!77409ef2() 
      ntdll.dll!77409ec5() 
    很奇怪 一头雾水 。兄弟们帮帮忙,可以远程看看 !
      

  11.   


    调用堆栈无法看出来什么问题。你前面一帖不是说msvcr90d.dll(13楼)有问题吗,release版不会用到msvcr90d.dll,release版对应的是msvcr90.dll。所以,俺怀疑你工程的某个dll用的是debug版的lib文件。建议删除所有的debug版生成的东西,只用release版。先排除文件错误,然后再去查代码问题,逐步缩小范围,这样才可以确定问题。
      

  12.   

    取一个dump分析下。根据经验推断是有内存溢出,Debug模式下实际内存会比需要的内存稍微大一点,所以溢出一两个字节感觉不出来。