请问高高手: 我的程序在正常运行很久后才出显如下错误,请帮我考虑会错在什么呢??

Niou_Shi 2002-02-08 10:16:17
Debug Assertion failed
Program: NetBee.exe
File: dbgheap.c
Line: 1011
Expression: _CrtIsValidHelpPointer(pUserData)
...全文
57 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
nakoko 2002-02-21
  • 打赏
  • 举报
回复
用什么写的?别在不是c
csdev 2002-02-21
  • 打赏
  • 举报
回复
地址越界了
changzhiguo 2002-02-18
  • 打赏
  • 举报
回复
try{
//访问内存的操作序列
}
catch(...){//错误捕捉
//错误处理
}
lxy8247 2002-02-13
  • 打赏
  • 举报
回复
我认为是数组越界
phonlee 2002-02-13
  • 打赏
  • 举报
回复
在每个使用指针的地方都检查他的有效性.

FlyCom_NT 2002-02-12
  • 打赏
  • 举报
回复
内存泄漏
splitter 2002-02-11
  • 打赏
  • 举报
回复
我以前经常碰到这个问题.这个问题不是内存泄漏问题造成的,肯定是数组越界了.
内存的头部一些信息被越界的数组修改了,而内存的头部保留着这块内存大小等相关信息,因此当你分配的内存释放的时候,delete函数找不到所删除内存时必要的
信息,所以删除出现错误.注意检查那些地方可能数组越界就可以了.
blue_teeth2 2002-02-10
  • 打赏
  • 举报
回复
你这可能是内存泄露引起的,你可以试用checker来检测一下,这是一
个专门对付此类问题的好东西.
strip 2002-02-08
  • 打赏
  • 举报
回复
看看这个有没有帮助: Q154744
The error below may occur in an MFC application where one of the following is assigned a value by the programmer:


CWinApp::m_pszAppName
CWinApp::m_pszRegistryKey
CWinApp::m_pszExeName
CWinApp::m_pszHelpFilePath
CWinApp::m_pszProfileName
The following error is displayed in a message box:

Debug Assertion failed
Program: my.exe
File: dbgheap.c
Line: 1017
Expression:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
In Visual C++ 6.0, the following error is displayed in a message box:

Debug Assertion failed
Program: my.exe
File: dbgheap.c
Line: 1011
Expression: _CrtIsValidHelpPointer(pUserData)
You may see this error when you upgrade from an earlier version of Visual C++ to Visual C++ versions 4.2 or later.
cai_c_cai 2002-02-08
  • 打赏
  • 举报
回复
靠!就用DEGBUG不就可以吗?只要在每个CPP头加上,一般用向导生成的类缺省就有了,没有的话,CTRL-V进去。
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
Kevin_qing 2002-02-08
  • 打赏
  • 举报
回复
用bounce checker检查一下看看
topten 2002-02-08
  • 打赏
  • 举报
回复
漏了,赶紧糊上
Niou_Shi 2002-02-08
  • 打赏
  • 举报
回复
请问有检测泄漏的好办法吗
xghome 2002-02-08
  • 打赏
  • 举报
回复
绝对漏了
ygd 2002-02-08
  • 打赏
  • 举报
回复
指针指向非法内存
Niou_Shi 2002-02-08
  • 打赏
  • 举报
回复
我是n次分配了 达2M 的芮存,但我每次都清理掉了的
code_cold 2002-02-08
  • 打赏
  • 举报
回复
内存泄漏

大量分配内纯后,未释放
Niou_Shi 2002-02-08
  • 打赏
  • 举报
回复
MSDN 里有这个错误的解决办法,可是我按它的做了还是不行呀
xiaoxiaohan 2002-02-08
  • 打赏
  • 举报
回复
也有可能是内存泄漏。
zheng_rui 2002-02-08
  • 打赏
  • 举报
回复
一般是删除内存引起的
加载更多回复(1)
真正的宽带加速方法!【实用】
--------------------------------------------------------------------------------

照这个方法设置之后,我觉得效果还不错。分享一下 觉得自己网速慢的可以来试试!


真正的宽带加速方法!!!!!!!!!!! (修正版)


(转贴)
我为了加快网络速度用了多少个软件 可是全都没用 根本不像这些软件所讲的神话那样 安装之后可以增加几%的速度 直到我发现这个网站 http://www.speedguide.net/ 你不用安装什么软件程序在你的计算机
我也用这个网站来修改微软Windows 操作系统的 registry ,或是修改 MTU 达到最佳化的设定


成功率达100% 国内不论用和信双向(速率6Mb/256Kb)Cable Internet / 东森双向Cable Internet 或是任何一家ADSL(速率1.5Mb) , 而且都有明显增加联机速度

但是我是推荐双向cable modem(非阳春型)的宽频网络 ,最好是下载能有超过1MB的宽频网络

如果是用ADSL下载不到1MB的或是双向cable modem阳春型(128kb/64kb)或是实用型 , (700kb/100kb)的就没什么用处

因为我相信你们现在大多数用ADSL 大部分的人下载的速度都是1MB以下 , 不是512KBPS就是786KBPS , 其实微软Windows操作系统的registry和MTU默认值下载的最大值都有1MB
如(98, Me) (Windows XP 有时候已你网络速度最佳化了)

所以在我实际的例子中 Windows 98, Me 加速的空间最大 , 但是你的ISP提供给你的速度下载不到1MB 你即使最佳化也没用

就像你最佳化后计算机的设定值变成你的计算机可以达到联机速度5000KBPS
你的ISP给你的下载最高速度是512KBPS或是786KBPS 你的联机速度也只能有512KBPS或是786KBPS

我要好好的郑重强力的和大家推荐一下 http://www.speedguide.net/
这个网站是美国很有名的更改微软Windows操作系统的registry和MTU的网站以达到各种速度的最佳化

教学做法如下

首先 你的计算机一定要有Winzip8.0以上版本的压缩软件

连到 http://www.speedguide.net/

第一步骤:Windows 98, Windows Me, Windows 2000, Windows XP皆适用


左上方--Broadband 选项--Downloads/Patches --点下去:

(你就直接点这里吧,我给你连接好了)

注!!!以下文件都很“小” (直接下载吧,很多人眼神不好,找不到)

Windows 98 的需要的档案:
mtupatch98.zip
sguide_tweak_98_ME_PPPoE
sg_webtweak_9x.zip


Windows Me 的需要的档案:
sguide_tweak_98_ME
sguide_tweak_98_ME_PPPoE
sg_webtweak_9x.zip

Windows 2000/XP 的需要的档案:
sguide_tweak_2k.zip
sguide_tweak_2k_pppoe.zip
sg_webtweak_2k.zip


以上的程序解压缩后
当扩展名是.reg 就用鼠标左键直接点它
当扩展名是.inf 用鼠标右键点它 , 会出现下拉式的窗口 如果你是用Winzip中文版选 “安装” 如果你是用Winzip英文版选 “Install”

注意!!当你解压缩后同时发现 同时有扩展名是.reg的档案 也有扩展名是.inf的档案 切记只要执行扩展名是.reg的档案即可 , 不要去安装扩展名是.inf的档案还有其它的档案也不要碰它们

第二步骤 Windows 98, Windows Me, Windows 2000, Windows XP皆适用

到 http://www.speedguide.net/ 主页去
看到左面Shortcuts一栏----TCP/IP Analyzer 点下去 分析你的网络一些设定值
查一下你的 Default Receive Window (RWIN) = 256960 , 有没有达到256960这个数值
如果没有 按左面TCP/IP Analyzer 下的 TCP/IP Optimizer 点击进入新页面 下载上方第一个修正程序TCP Optimizer , 然后执行它

执行后 它会出来一个窗口 , 窗口上面显示你是哪种类型上网勾你上网的方式 选择你的宽带方式
窗口中间勾Modify All Network Adapters
窗口下面 勾Optimal settings 最后按 Apply changes

然后重新开机 再按TCP/IP Analyzer测试一下
应该Default Receive Window (RWIN) = 256960 的值会是256960(或接近)才对

(如果不是256960 这通常会出现在Windows 98里 应为它少一个程序
所以如果你的操作系统是Windows 98 在第一步骤 相同网页的中间位置下载MS Vtcp.386 fix for Windows 98这个程序解压缩后执行 再重新开机)

第三个步骤 只适用于Windows XP
中文版 ,如下

“开始” 选 “运行” 键入 “gpedit.msc”

本机计算机原则—计算机配置---管理模板---网络---QoS数据包调度程序---限制可保留频宽---点击左边“属性”

勾选 “已启用”
频宽限制(%): 20 改为 0
“确定” 再重新开机

英文版如下

“start” click “Run” enter “gpedit.msc”
Local Computer Policy---Computer Configuration—Administrative Templates
---Network---QoS Packet Scheduler---Limit reservable bandwidth---setting
Make sure check box on “Enabled” is selected
Bandwidth limit (%)
“Apply” “OK” then restart computer

只要按照这三个步骤 , 包准你的网络联机速度 , 吓吓叫 , 但是我再重申一次这是适合宽频网络的最佳化 , 如果你是用拨接上网 , 那很抱歉不会有什么差别

如果你的ISP给你的下载速度没有超过1MB 基本上也没什么改变 所以不要期望太大 不过你可以试试看

特别说明:我并不是破解高手,但我照说明也成功了。
所以一定按部就班,一步步操作。真的出了问题再找高高手解答。区区是有心无力的。
成功后也不要太得意忘形,因为大多数网站都有速度限制,只有当连接到真正优秀的链接,每秒超过4M的速度才能真正体现

16,551

社区成员

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

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

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