| bright's profileBright MomentPhotosBlogLists | Help |
|
April 14 为什么不能重现关于STL stringstream的bug最近运行程序时,发现内存持续增长,原来以为是程序正常的需要,后来经过计算我根本用不了那么多内存,所以是内存泄露,由于我的代码中没有使用任何的new or delete,因此排出我自己代码的问题,最后定位到一个函数,其中使用了stringstream(以前知道它在跨平台时可能存在着问题),我用普通的string间接地替换掉了stringstream,内存果然不再泄漏。于是把全部的stringstream替换掉,程序正常运行,内存的使用保持的很平稳。
为了证实stringstream存在内存泄露的问题,编写了简单的代码用以验证,但是脱离了我原来的程序之后,就不再发生内存泄露了,感觉非常奇怪。网上google了一下,发现别人也遇到过类似的问题,例如: 【1】http://tag.csdn.net/Article/c0084395-c30e-47a6-8a61-b14228f87f7e.html 【2】http://www.it130.cn/Article/FAQ/bianchengyuyan/C-C++/2007-3-7/2007030715022910.html 但是为什么我不能再现这个bug呢,感觉也不是我的程序的问题,那么问题究竟出自哪?谁能告诉我,不胜感激! 环境:windows xp sp2 + visual studio.net 2005 Comments (2)
TrackbacksThe trackback URL for this entry is: http://bright-li.spaces.live.com/blog/cns!64A26545E8622B86!508.trak Weblogs that reference this entry
|
|
|