创建的.exe文件不能正确启动

96掌门师兄 2011-03-03 12:49:43

自己创建的一个MFC应用程序,添加了一些lib文件,然后使用了命令行参数 /FORCE:MULTIPLE,并在了Not Using Precompiled Headers。请问各位前辈该如何改正?出错的原因是什么?多谢

Debug Assertion Failed!
Program: E:\WXPUa\it\rr\PHONE\Debug\PHONE.exe
File:dbgheap.c
Line: 1279
Expression:_CrtIsValidHeapPointer(pUserData)

Debug Assertion Failed!
Program: E:\WXPUa\it\rr\PHONE\Debug\PHONE.exe
File:dbgheap.c
Line: 1381
Expression: _pFirstBlock==pHead
...全文
263 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
96掌门师兄 2011-03-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 eyey1 的回复:]
引用 11 楼 eyey1 的回复:
引用 10 楼 xiaoxiaoyu85 的回复:
引用 5 楼 eyey1 的回复:
引用 2 楼 xiaoxiaoyu85 的回复:
“PHONE.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_0ccc058c\m……
[/Quote]

找了一下,是加载库的时候出错了。
“PHONE.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_0ccc058c\mfc80CHS.dll”,未使用调试信息生成二进制文件。
yuwenying1985 2011-03-04
  • 打赏
  • 举报
回复
在项目属性里改用MFC静态库,并使用 /MTd就可以了,以前遇到过。。
手机写程序 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 eyey1 的回复:]
引用 10 楼 xiaoxiaoyu85 的回复:
引用 5 楼 eyey1 的回复:
引用 2 楼 xiaoxiaoyu85 的回复:
“PHONE.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_0ccc058c\mfc80CHS.dll”,未使用调试信息……
[/Quote]
mfc80CHS.dll好像没有debug版,是我弄错了。
还是用call stack窗口找到你出错的代码吧。
看不见的裂痕 2011-03-03
  • 打赏
  • 举报
回复
刚也遇到这个问题,帮忙顶下,求高手现身解决
手机写程序 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xiaoxiaoyu85 的回复:]
引用 5 楼 eyey1 的回复:
引用 2 楼 xiaoxiaoyu85 的回复:
“PHONE.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_0ccc058c\mfc80CHS.dll”,未使用调试信息生成二进制文件。

调试信息是这样的。

这是……
[/Quote]
mfc80CHS.dll应该是release版的吧,debug版我觉得应该是mfc80CHSd.dll才对啊。
《生死线》没看过。主旋律吗?
96掌门师兄 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 eyey1 的回复:]
引用 2 楼 xiaoxiaoyu85 的回复:
“PHONE.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_0ccc058c\mfc80CHS.dll”,未使用调试信息生成二进制文件。

调试信息是这样的。

这是debug版吗?是的话选这个选项。
……
[/Quote]

选择了的,谢谢了哦,看了《生死线》没?超级喜欢,呵呵
96掌门师兄 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fighttodeath 的回复:]
选择动态链接Debug版?
[/Quote]
该如何调试呢?提示一下哦,谢谢
sparrow429 2011-03-03
  • 打赏
  • 举报
回复
程序有问题...
真相重于对错 2011-03-03
  • 打赏
  • 举报
回复
Expression:_CrtIsValidHeapPointer(pUserData)
这个函数是验证堆上的指针是否正确,例如dll创建 ,exe 释放,等情况,你调试一下F11 看看那个函数引起这个问题
青稞 2011-03-03
  • 打赏
  • 举报
回复
选择动态链接Debug版?
手机写程序 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaoxiaoyu85 的回复:]
“PHONE.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_0ccc058c\mfc80CHS.dll”,未使用调试信息生成二进制文件。

调试信息是这样的。
[/Quote]
这是debug版吗?是的话选这个选项。
Multi-threaded Debug DLL (/MDd)
96掌门师兄 2011-03-03
  • 打赏
  • 举报
回复
“PHONE.exe”: 已加载“E:\WXPUa\it\rr\PHONE\Debug\PHONE.exe”,已加载符号。
“PHONE.exe”: 已加载“C:\WINDOWS\system32\ntdll.dll”,未加载任何符号。

这里的已加载符合和未加载符号该如何理解?
96掌门师兄 2011-03-03
  • 打赏
  • 举报
回复
“PHONE.exe”: 已加载“E:\WXPUa\it\rr\PHONE\Debug\PHONE.exe”,已加载符号。
“PHONE.exe”: 已加载“C:\WINDOWS\system32\ntdll.dll”,未加载任何符号。
这里的已加载符号和未加载符号该如何理解?谢谢回复
96掌门师兄 2011-03-03
  • 打赏
  • 举报
回复
“PHONE.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_0ccc058c\mfc80CHS.dll”,未使用调试信息生成二进制文件。

调试信息是这样的。
Eleven 2011-03-03
  • 打赏
  • 举报
回复
好像是指针越界了,你Debug下看看call stack函数调用堆栈,找到出错的地方

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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