VS2008 ,debug版本可以运行,但relase版本直接报错 看看Release和Debug的配置是否一样?所依赖的库在Release下是否都正常包含了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说两个方法把:1.就是Rlease也可以断点,就算内存显示的内容错误,你只要找崩溃点,附加信息别看,看代码行位置也可以。2.Release在崩溃的时候导出Dump文件,分析DUMP文件,VS自带的或者其他工具都可以(1)程序初始化的时候SetUnhandledExceptionFilter(你注册的崩溃回调函数);(2)在你注册的崩溃回调函数里面MiniDumpWriteDump输出崩溃文件 其他依赖的文件是否都有Debug版本对应Debug依赖的DLL等,Release对应Relesae的 程序根本就没有运行起来,一启动就报错。连 InitInstance() 函数就进不去 编译不够齐全吧,编译release版本,在编译的时候最好把需要的库都编译进去。 报错 :0xC0000142: DLL Initialization Failed 应该是有个DLL 引用不成功,现在报 无法定位**到**.DLL但我在DEBUG下无任何问题 报错信息如下:下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号】user32.dllmsvcr90d.dllmsvcr90d.dll 是debug版本下的东西吧? 可我编译的是relase版本 如果是这样的话 那是不是可以推测我的配置有问题? 可是哪个配置项会导致此问题呢? debug下变量没有被初始化可能没有出问题,但release 下就可能出问题,要养成给所有变量赋初值的好习惯。 报错信息如下:下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号】user32.dllmsvcr90d.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。 报错信息如下:下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号】user32.dllmsvcr90d.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() 很奇怪 一头雾水 。兄弟们帮帮忙,可以远程看看 ! 调用堆栈无法看出来什么问题。你前面一帖不是说msvcr90d.dll(13楼)有问题吗,release版不会用到msvcr90d.dll,release版对应的是msvcr90.dll。所以,俺怀疑你工程的某个dll用的是debug版的lib文件。建议删除所有的debug版生成的东西,只用release版。先排除文件错误,然后再去查代码问题,逐步缩小范围,这样才可以确定问题。 取一个dump分析下。根据经验推断是有内存溢出,Debug模式下实际内存会比需要的内存稍微大一点,所以溢出一两个字节感觉不出来。 如何执行DOS命令? 是不是所有的文件都有文件头 waveInOpen()怎样录制麦克风声音 利用pDC->TextOut能不能输出中文?其他方法,谢谢帮忙 在CTreeView中,如何取得我当前点击的那个项的handle阿,谢谢。 求flashget的源程序,分数随你要! 用installshield怎做不可见的安装程序? 项目文件的问题 请教有关RASENTRY的问题 什么时候能触发OnSend()--Winsock Visual Studio 2012新建项目就报错 Gridctrl的问题
1.就是Rlease也可以断点,就算内存显示的内容错误,你只要找崩溃点,附加信息别看,看代码行位置也可以。2.Release在崩溃的时候导出Dump文件,分析DUMP文件,VS自带的或者其他工具都可以
(1)程序初始化的时候
SetUnhandledExceptionFilter(你注册的崩溃回调函数);
(2)在你注册的崩溃回调函数里面
MiniDumpWriteDump输出崩溃文件
Debug版本对应Debug依赖的DLL等,Release对应Relesae的
报错信息如下:
下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号】user32.dll
msvcr90d.dllmsvcr90d.dll 是debug版本下的东西吧? 可我编译的是relase版本 如果是这样的话 那是不是可以推测我的配置有问题? 可是哪个配置项会导致此问题呢?
报错信息如下:
下面的框架可能不正确和/或缺失,没有为 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。
报错信息如下:
下面的框架可能不正确和/或缺失,没有为 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()
很奇怪 一头雾水 。兄弟们帮帮忙,可以远程看看 !
调用堆栈无法看出来什么问题。你前面一帖不是说msvcr90d.dll(13楼)有问题吗,release版不会用到msvcr90d.dll,release版对应的是msvcr90.dll。所以,俺怀疑你工程的某个dll用的是debug版的lib文件。建议删除所有的debug版生成的东西,只用release版。先排除文件错误,然后再去查代码问题,逐步缩小范围,这样才可以确定问题。