我有這個工作來實現提供文件共享功能的庫。不會執行的行中的更改會破壞構建!
這已經發生過兩次:
首先,在字符串中的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;
};
如果我評論此代碼,崩潰消失了。
這真的讓我瘋狂!
我已經做了8年的開發人員,而且我從未見過這樣的事情!
其他信息
我的內存是好的,我使用Visual Studio 2010 SP1的Windows 7中的庫是從RasterBar libTorrent
並將其鏈接到提高。該軟件使用MFC。
由於C++有重載,因此不能假定不會調用新添加的函數。 –
我將函數名設置爲GetFileMap101010101010101010101010101併發生同樣的崩潰! – bratao
**重建所有** – Erik