bra*_*tao 0 c++ crash mfc visual-studio
我有一个实现提供文件共享功能的库的工作.
这已经发生了两次:
首先,在if-else路径中的字符串中,只执行if路径,但是当我在else路径中更改拼写时,几分钟后软件在std库中崩溃.我通过附带的调试进行了验证,发现内衬的更改从未被触及过.当我扭转这种变化时,它再次运作良好.
其次,我的软件再次在std库上崩溃,out-of-array
检查标准的basic_string析构函数.
我做了一切,所有图书馆都匹配了_HAS_ITERATOR_DEBUGGING
.
4个小时后,我发现有问题的文件是TorrentFile.cpp/h
.
如果我添加一个函数(即使它从未被调用过),程序会在该文件的末尾崩溃,但如果没有,则没有错误.导致问题的代码:
std::vector<TorrentFileListPacket> TorrentFile::GetFileMap()
{
std::vector<TorrentFileListPacket> vFiles;
return vFiles;
};
Run Code Online (Sandbox Code Playgroud)
如果我评论这个代码,崩溃就消失了.
这真让我抓狂!
我已经做了8年的开发人员,我以前从未见过这样的东西!
附加信息
我的内存没问题,我在Windows 7中使用Visual Studio 2010和SP1.该库libTorrent
来自RasterBar,它链接到boost.该软件正在使用MFC.
这在与崩溃所期望的完全不同的位置上会强烈地记忆内存.最有可能添加和删除函数的方式是改变内存布局,使内存损坏的效果立即可见.
你最好的希望就像Purify或Valgrind那样追捕它.
归档时间: |
|
查看次数: |
150 次 |
最近记录: |