社区
C++ 语言
帖子详情
vs2005无法执行debug版程序,release版可以正常运行
大海雪山
2010-01-06 11:21:25
很简单的生成一个mfc对话框项目,然后点调试->运行,只要是debug版的,都无法运行程序,显示错误信息:
应用程序正常化(0xC0000034)失败.请单击“确定”,终止应用程序
我重装了好几次还是一样。但是release版可以正常运行。sp1对c盘要求太大,我没装。
不知道前辈们怎么解决的,希望得到指点!
...全文
524
12
打赏
收藏
vs2005无法执行debug版程序,release版可以正常运行
很简单的生成一个mfc对话框项目,然后点调试->运行,只要是debug版的,都无法运行程序,显示错误信息: 应用程序正常化(0xC0000034)失败.请单击“确定”,终止应用程序 我重装了好几次还是一样。但是release版可以正常运行。sp1对c盘要求太大,我没装。 不知道前辈们怎么解决的,希望得到指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大海雪山
2010-03-11
打赏
举报
回复
重装n次,才恢复正常,谢谢各位了!
icansaymyabc
2010-01-10
打赏
举报
回复
出现你这种情况通常都是数组边界的问题。
举个例子说:
char buf[5];//数组的大小只有5字节
strncpy_s(buf,500000,"xxyy");
//尽管你只copy了4字节的内容到这个数组里,你却错误地告诉了函数说你的数组有500000个字节那么大。
这段代码可以通过编译,但是 Debug 版就会崩溃,而 Release 版正常运行。
因为按规定 debug 版的程序要主动替你初始化所有变量和分配空间,所以 debug 版的 strncpy_s 函数会按照你的参数把 buf 之后的 500000 字节全都填充过(在这个例子里就造成了越界访问),再把 xxyy 复制过去。而 Release 版仅把 xxyy 复制过去所以没有发生越界情况。
以后出这样的问题你还是要好好检察你的代码,不要错怪系统!
cocat
2010-01-10
打赏
举报
回复
没遇到这样问题~如果楼主网速比较快,很简单,再下一个VS2005啊~下个不同版本的!
Dolphin_001
2010-01-10
打赏
举报
回复
试试这个解决办法:
正常情况下(C:\Windows\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_3bf8fa05)目录有四个文件。但是有些用户的机器上只有两个文件:可以所清理专家目录下的mfc80.dll文件拷贝进去即可:
注:这个问题只会在 WIN XP、WIN2003 、Vista 是系统中出现(C:\Windows\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_3bf8fa05)目录有些机器没有。也是正常的。
大海雪山
2010-01-10
打赏
举报
回复
2008太卡了,帮帮忙啊
ropert911
2010-01-07
打赏
举报
回复
顶哈吧
fenglingxiaowu
2010-01-07
打赏
举报
回复
顶~~~
shuilongyin_00
2010-01-07
打赏
举报
回复
[Quote=引用 4 楼 sandy0066 的回复:]
重装了好几遍,还是一样的错误。真郁闷啊
[/Quote]
确定设置正确的话就换VS2008重新装吧。
大海雪山
2010-01-07
打赏
举报
回复
重装了好几遍,还是一样的错误。真郁闷啊
haohaokingXP
2010-01-06
打赏
举报
回复
如果DEBUG和RELEASE,你在开发环境上没有特殊设置的话,使用资源也无意异常的话。
建议你从装下IDE吧。
niejimaoo
2010-01-06
打赏
举报
回复
我用vs2008,没遇到过这种情况,不能帮你了
大海雪山
2010-01-06
打赏
举报
回复
输出窗口信息如下:
SXS: Unable to resolve storage root for assembly directory x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f in 2 tries
SXS: RtlGetAssemblyStorageRoot() unable to resolve storage map entry. Status = 0xc0150004
调试器:: 在进程加载过程中引发了未处理的无法继续的异常
程序“[3240]my.exe: 本机”已退出,返回值为 -1073741772 (0xc0000034)。
完美解决
VS
2010应用
程序
Debug
版
本启动正常,
Release
无法
正常启动0xc000007b
问题:使用
VS
2010
Debug
编译
运行
时候正常启动,但是
Release
启动的时候,提示:
执行
可
执行
文件时提示:
程序
无法
正常启动0xc000007b 原因分析:可能dll缺少或者不匹配 具体分析:使用Dependency Walker工具,打开应用
程序
,看应用
程序
用到的dll库
Debug
版
本:
Release
版
本: 我们发现
Release
版
本下MFC100U.DLL的CPU类型不一致,如下是具体的CPU类型: c:\windows\system32\MFC100UD.DLL X.
debug
版
程序
运行
正常,
release
版
程序
运行
出错
1. 检查是否有变量没有初始化,尤其是重要的控制变量。
debug
会对
程序
中没有初始化的局部变量进行初始化(全局变量在两种
版
本中都会被初始化),而
release
不会,因此
release
版
中没有初始化的变量的值
运行
时是不确定的。而
debug
版
中没有初始化的整型会被初始化为0,指针也会被初始化为0,也就是空指针。这样就可以避免很多错误,或者使得错误的出现有规律,便于查错。 2. 定位rele
Debug
运行
正常,
Release
版
本不能正常
运行
总结(转)
引言 如果在您的开发过程中遇到了常见的错误,或许您的
Release
版
本不能正常
运行
而
Debug
版
本
运行
无误,那么我推荐您阅读本文:因为并非如您想象的那样,
Release
版
本可以保证您的应用
程序
可以象
Debug
版
本一样
运行
。 如果您在开发阶段完成之后或者在开发进行一段时间之内从来没有进行过
Release
版
本测试,然而当您测试的时候却发现问题,那么请看我们的调试规则1: 规则1: ...
Debug
版
本下能
运行
而
Release
下不能
运行
的问题总结
引言 如果在您的开发过程中遇到了常见的错误,或许您的
Release
版
本不能正常
运行
而
Debug
版
本
运行
无误,那么我推荐您阅读本文:因为并非如您想象的那样,
Release
版
本可以保证您的应用
程序
可以象
Debug
版
本一样
运行
。 如果您在开发阶段完成之后或者在开发进行一段时间之内从来没有进行过
Release
版
本测试,然而当您测试的时候却发现问题,那么请看我们的调试规则1: 规则1: 经常性
VS
中
Debug
和
Release
版
本的区别
之前写过一段代码,能在
VS
2013的
Release
下
运行
,但是不能在
Debug
下
运行
,所以又深入学习了一番,下面是学到的经验。(橙色表示引用,红色表示重点)
VS
中的
程序
有
Debug
和
Release
两个
版
本,其不同之处: 综述:
Debug
程序
通常比
Release
程序
运行
的慢,尤其在处理视频方面,
Release
要比
Debug
快很多。在我看的资料中,似乎在
Release
模式下容易...
C++ 语言
64,648
社区成员
250,503
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章