CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

一个奇怪的调试错误(有经验的请进!)

楼主knl(小K)2002-03-31 16:17:42 在 VC/MFC / 基础类 提问

我写了一个随机生成字符串的程序可是为什么总出现错误.  
  可是在生成的精简文件中却没有问题.请高手来帮忙!!!  
  我会加分的!!! 问题点数:100、回复次数:16Top

1 楼vickowang(你的影子无所不在...)回复于 2002-03-31 16:20:06 得分 10

出现什么错误呀?Top

2 楼knl(小K)回复于 2002-03-31 16:22:11 得分 0

出现一个对话框说!!!诊断程序发现你的程序有错误请看vc++的文档!!Top

3 楼webber84(***闭关修炼中***)回复于 2002-03-31 16:32:12 得分 0

如果是assertion   failed的话,一般在对话框中会给出是哪个文件中的assert引起的错误,以及在该文件的多少行,你可以把那个文件打开来看看到底是什么  
  assert()引起的错误。Top

4 楼knl(小K)回复于 2002-03-31 16:37:39 得分 0

没有啊!!  
  以下是我的源码::  
   
  CFile   cfile;  
  CFileException         file;  
    CString   Pck,Pvk,Pass("anahruqmruipq");  
  Pass.Format   (",kajuqnaui");  
  CString   number("Window   Size(%d,%d)");  
  CString   n8("***************");  
  CString   center("THIS   PSK   MADE   FLY!!!");  
  CString   geli("----------------------------------------\n");  
  int   n=0,num=2;  
  Pck=GetPck();  
  do{  
  for(int   i=0;i<=7;i++)Pvk+=GetPvk(Pass[n],Pck[i*10],n,i);  
  ++n;  
  }while   (n<=7);  
  CString   string;  
  string=Pass.Mid(7);Pvk+=string;Pvk+=number;  
  Pvk+="?????";  
  string.IsEmpty   ();  
   
  string=GetPck();  
  Pvk+=string.Left(118-Pvk.GetLength   ());  
   
  if(!cfile.Open   ("c:\\abc.phk",CFile::modeCreate|CFile::modeReadWrite))  
  {  
  AfxMessageBox("error");  
  }  
   
  cfile.Write   (n8,15);  
  cfile.Write   (center,20);  
  n8+="\n";  
   
  cfile.Write   (n8,16);  
  Pvk+=geli;  
  Pvk+=Pck;  
   
   
   
  int   q=0;  
  CString   lin;  
   
  while((Pvk.GetLength   ()-q)>=0){  
  lin.IsEmpty   ();  
   
  lin=Pvk.Mid   (50+q,50);  
  q+=50;  
  cfile.Write   (lin,51);  
   
   
  }  
   
   
   
        lin.IsEmpty   ();  
  lin=Pvk.Mid   (q);  
  cfile.Write   (lin,lin.GetLength   ());  
   
  cfile.Close();  
   
  AfxMessageBox("要覆盖已有的文?",MB_YESNOCANCEL|MB_ICONQUESTION);//调试的  
  Top

5 楼knl(小K)回复于 2002-03-31 16:40:21 得分 0

一道到看文件就出错;  
  而在正式编成精简代码时却没有错误  
  Top

6 楼knl(小K)回复于 2002-03-31 16:45:28 得分 0

信息是这样的::  
  Debug   Assertion   Failed!  
  Program   :我的程序地址  
  File:strex.cpp  
  Line:332  
   
  For   information   on   how   your   program   can   cause   an   assertion  
  failure   ,see   the   Visual   C++   documengation   on   asserts.  
  (Press   Retry   to   debug   the   application)Top

7 楼webber84(***闭关修炼中***)回复于 2002-03-31 16:56:41 得分 0

我的意思是你打开strex.cpp,找到第332行,看看是什么assert语句出错了。你贴出来看看。Top

8 楼knl(小K)回复于 2002-03-31 17:00:31 得分 0

我并没有此文件呀!  
  Top

9 楼webber84(***闭关修炼中***)回复于 2002-03-31 17:18:00 得分 10

我知道,应该在visual   stdio的目录下,你搜一搜就能搜到的。Top

10 楼zzq_fortu(郑)回复于 2002-03-31 17:21:05 得分 10

吧那个函数也给出来吧!Top

11 楼xiaohur()回复于 2002-03-31 18:11:27 得分 10

一定是内存溢出错误,调试看一下那句话出错了。Top

12 楼doghead(长青)回复于 2002-03-31 18:35:25 得分 50

把代码给我,我帮你调试成功,我最擅长调试程序,  
  qq:120353293,email:doghead@371.net  
  保证找到病症所在,  
  你的代码问题太多,  
  最简单的,你调用CString::IsEmpty()干什么,他是判断此串是否为空  
  我估计你是想清空字符串,要用Empty,或直接赋值“”;  
  GetPck();是干什么的,你保证它是对的么?  
  你写代码的风格太差,变量多,乱但不明确,等等  
  理清思路,重写吧,这种代码没有一点保存,维护的价值  
   
  Top

13 楼zgc_7622(.nlk)回复于 2002-03-31 18:41:45 得分 0

GetPck()能给出源码吗?Top

14 楼zgc_7622(.nlk)回复于 2002-03-31 18:47:19 得分 0

GetPvk()能给出源码吗?  
   
  Top

15 楼heyy(heyy)回复于 2002-03-31 23:51:46 得分 10

是不是用了CFile类的缘故,我的机器上在调试版上用CFile就出错,可是一到发行版上就没问题,到如今我都不太用这个类Top

16 楼knl(小K)回复于 2002-04-03 01:19:09 得分 0

谢谢大家的帮助.我调试出了.时字符串溢出错误.  
  我都给分.Top

相关问题

  • 调试错误
  • 调试错误
  • JIT调试错误
  • JIT调试错误
  • 奇怪错误
  • 奇怪错误
  • 很奇怪,为什么我的VS.Net一打进程调试IDE就提示有错误,然后重启?
  • ping.c 的调试错误
  • 简单调试错误
  • 调试时的错误

关键词

  • 代码
  • 文件
  • 调试
  • lin
  • 错误
  • cfile
  • 字符串
  • 出错
  • pvk
  • 程序

得分解答快速导航

  • 帖主:knl
  • vickowang
  • webber84
  • zzq_fortu
  • xiaohur
  • doghead
  • heyy

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo