У меня есть эта задача - реализовать библиотеку, которая предоставляет функцию обмена файлами.
Это уже произошло дважды:
Во-первых, в строке в пути 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;
};
Если я закомментирую этот код, сбой исчезнет.
Это действительно сводит меня с ума!
Я был разработчиком в течение 8 лет, и никогда раньше такого не видел!
Дополнительная информация
Моя память в порядке, я использую Visual Studio 2010 с пакетом обновления 1 (SP1) в Windows 7. Библиотека libTorrent
от RasterBar, и она ссылается на повышение. Программное обеспечение использует MFC.