debug时正常,直接运行时报错

Dragon_pan 2008-10-21 11:51:39
在vs里面debug时可以正常运行,但是直接运行exe文件的时候报错:“遇到了用户定义的断点。”
打开调试具体报的是下面的错误:
> ntdll.dll!7c92120e()
[下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号]
vrfcore.dll!VerifierStopMessageEx(_AVRF_LAYER_DESCRIPTOR * LayerDescriptor=0x0037b5d8, unsigned long StopCode=19, unsigned long Param1=166526977, unsigned long Param2=1258140304, unsigned long Param3=1230220, unsigned long Param4=1230248, _AVRF_STOP_EXTRA * StopExtra=0x00000000, ...) 行530 C++
vrfcore.dll!VfCoreRedirectedStopMessage(unsigned long Code=19, char * Message=0x003a33a8, unsigned long Param1=166526977, char * Description1=0x003a33e0, unsigned long Param2=1258140304, char * Description2=0x003a23b8, unsigned long Param3=1230220, char * Description3=0x003a23d8, unsigned long Param4=1230248, char * Description4=0x003a2404) 行103 + 0x19 字节 C++
vfbasics.dll!VfBasicsStopMessage(unsigned long Code=19, char * Message=0x003a33a8, unsigned long Param1=166526977, char * Description1=0x003a33e0, unsigned long Param2=1258140304, char * Description2=0x003a23b8, unsigned long Param3=1230220, char * Description3=0x003a23d8, unsigned long Param4=1230248, char * Description4=0x003a2404) 行1109 C
vfbasics.dll!AVrfpCheckFirstChanceException(_EXCEPTION_POINTERS * ExceptionPointers=0x0012c4f4) 行871 C
vfbasics.dll!AVrfpVectoredExceptionHandler(_EXCEPTION_POINTERS * ExceptionPointers=0x0012c4f4) 行200 C
ntdll.dll!7c962628()
ntdll.dll!7c94a969()
mscorwks.dll!79f35ee8()
mscorwks.dll!79f35f87()
mscorwks.dll!79e79d52()
mscorwks.dll!79f35f9b()
ntdll.dll!7c92e46a()
GdiPlus.dll!4afd91ee()
ntdll.dll!7c98483c()
ntdll.dll!7c9898d4()
ntdll.dll!7c989fa1()
ntdll.dll!7c98cee6()
ntdll.dll!7c969564()
ntdll.dll!7c938f01()
vfbasics.dll!AVrfpRtlAllocateHeap(void * HeapHandle=0x4afd9e56, unsigned long Flags=72, unsigned long Size=6423004) 行233 + 0x12 字节 C
...全文
761 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jietuan 2008-10-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hao1hao2hao3 的回复:]
调试--删除所有断点,然后重新生成项目。
[/Quote]

你可以在release 直接运行exe 试试
tete 2008-10-21
  • 打赏
  • 举报
回复
你是不是设了断点。
hao1hao2hao3 2008-10-21
  • 打赏
  • 举报
回复
调试--删除所有断点,然后重新生成项目。
Dragon_pan 2008-10-21
  • 打赏
  • 举报
回复
这里不是指release时,而是指运行exe文件时。
Dragon_pan 2008-10-21
  • 打赏
  • 举报
回复
哈哈~终于找到原因了,原来是微软的Application Verifier在作祟,具体原因见下面地址:
http://social.msdn.microsoft.com/Forums/en-US/vbide/thread/02c9664a-8d24-4e6a-a581-4cdd773775ec/
我以前用过这个软件去测试过我的系统。
vinoya 2008-10-21
  • 打赏
  • 举报
回复
Debug生成的文件比Release生成的要大好几倍,Debug生成的exe文件中包含调试信息,对于需要发布的版本是无用的。
如果需要用到dll引用或者需要其他文件支持的时候,则需要添加对应的文件才可正常运行。
优途科技 2008-10-21
  • 打赏
  • 举报
回复
不光你的程序要是Release版,你的程序用到的外部dll也要是Release版。
优途科技 2008-10-21
  • 打赏
  • 举报
回复
检查你的dll是不是Release版本。
Dragon_pan 2008-10-21
  • 打赏
  • 举报
回复
谢谢楼上们的回复,没有设置断点
Dragon_pan 2008-10-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 guest78978 的回复:]
用Release方式生成exe文件时,是不是一些支持文件没有同时生成?
[/Quote]
在Release方式下生成没有任何问题,我怀疑是不是我系统环境的问题
Dragon_pan 2008-10-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jietuan 的回复:]
引用 2 楼 hao1hao2hao3 的回复:
调试--删除所有断点,然后重新生成项目。


你可以在release 直接运行exe 试试
[/Quote]
release 下面debug可以,直接运行还是报错
guest78978 2008-10-21
  • 打赏
  • 举报
回复
用Release方式生成exe文件时,是不是一些支持文件没有同时生成?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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