vs2005无法执行debug版程序,release版可以正常运行

大海雪山 2010-01-06 11:21:25
很简单的生成一个mfc对话框项目,然后点调试->运行,只要是debug版的,都无法运行程序,显示错误信息:

应用程序正常化(0xC0000034)失败.请单击“确定”,终止应用程序
我重装了好几次还是一样。但是release版可以正常运行。sp1对c盘要求太大,我没装。
不知道前辈们怎么解决的,希望得到指点!
...全文
524 12 打赏 收藏 转发到动态 举报
写回复
用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)。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧