工程分为两部分,代理程序和控制台程序。
进行强力测试,代理不停的向控制台发数据,控制台将代理发来的数据,进行存入数据库操作。但是经过一段时间后,控制台程序就无响应了,用vc调试中止运行,发现每次都是处在调用kernel32.dll中0x77e69824处出错。
请问哪位遇到过此问题,还请帮忙。
另外,我想试着找到kernel32.dll中0x77e69824地址到底是什么函数,通过各种工具,都找不到,kernel32.dll里面有这个地址的函数,还请各位帮忙。谢谢。
进行强力测试,代理不停的向控制台发数据,控制台将代理发来的数据,进行存入数据库操作。但是经过一段时间后,控制台程序就无响应了,用vc调试中止运行,发现每次都是处在调用kernel32.dll中0x77e69824处出错。
请问哪位遇到过此问题,还请帮忙。
另外,我想试着找到kernel32.dll中0x77e69824地址到底是什么函数,通过各种工具,都找不到,kernel32.dll里面有这个地址的函数,还请各位帮忙。谢谢。
解决方案 »
- 谁给个内存映射文件的例子和说明
- CListCtrl如何调整间距
- 有关全局变量(指针类型)的内存分配与释放问题?(用boundschecker检测内存泄漏问题)
- 如何让字体偏转90度
- (在线等!)想要在程序里建立一个符号表,改怎么做?
- 哪位有VC的安装打包程序installshield,谢谢了!请给一个!
- Com中如何调用CSocket?
- 贺岁贴【OpenGL问题 100分】做过的朋友,斑竹,高手都进来!!怎样把一张整个的遥感图贴到DEM上!!
- 一个简单的VC问题。
- 滚动条自动滚动的问题
- 请高手高手高高手回答:能否拦截ADO/ODBC?
- $$$ 500分悬赏:可拖拽的ActiveX控件 $$$
我控制台端的设计方式是采用一个队列,char *p[5000],每个代理传上来的数据,我都把它转换成一条SQL插库语句,以new的方式放到队列里面,然后有一个专门的插库线程,负责从队列里面逐条读取,然后逐条插入数据库当中,然后delete掉插过的数据。以上设计当中,有两处过程是不停反复执行的,
1.从堆栈中反复new何delete
2.反复地进行数据库插库操作,插库操作用的是m_pCommand->Excute()方式,逐条执行。这两种反复操作肯定会引起一些问题,只是不确定到底是怎么会这样。
1,堆上数据new了,要及时的delete
1.new和delete的使用肯定不会有问题,我进行过压力测试,内存在稳定后是恢复正常的。只是不清楚,这样反复操作,到底会不会对系统造什么什么样的影响,比如说,系统是否会对这种反复的申请释放操作,能不能真正的十分准确地回收内存等。。
2.你说的不要频繁,我也考虑过,只是不知道该怎么办,我可以保证,同一时刻肯定就只有一个m_pCommand->Excute()函数在执行,这个函数执行完,在执行下一个。当然,这个函数执行完,不代表数据库插库操作也执行完。那怎么办,难道我要在每次执行m_pCommand->Excute()函数后,Sleep一下吗,要是如此,应该Sleep多少呢,多了肯定会影响程序的速度,少了又达不到效果。哎,程序这个东西,实在迷茫啊。