Утверждение отладки не удалось с msvc2019 и qt 6.1, ссылается на несуществующий файл

#c

Вопрос:

Когда я отлаживаю свое приложение, я получил неудачный вывод утверждения отладки,

Не Удалось Выполнить Утверждение Отладки! Программа: C:WINDOWSSYSTEM32MSVCP140D.dll Файл: D:Program Файлы (x86)Microsoft Visual Studio 14.0VCВКЛЮЧАЮТвекторная строка: 73 Выражение: векторный итератор не разыменовывается Для получения информации о том, как ваша программа может вызвать сбой утверждения, см. Документацию Visual C по утверждениям. (Нажмите кнопку Повторить для отладки приложения)

На моем диске D не установлена visual studio 2015, поэтому целевой файл не существует, как это исправить?

плюс: Спасибо за все ваши ответы, моя проблема была решена, я несколько дней пытался обойти это. Тем не менее, я не уверен, почему это произошло, я предполагаю, что используются некоторые неправильные библиотеки.

С уважением

Комментарии:

1. Утверждение может исходить из файла, которого у вас нет, но основная причина, скорее всего, кроется в вашем коде. Создайте отладочную сборку и запустите отладчик, чтобы зафиксировать сбой и определить, когда и где в вашем коде это происходит. Также изучите все задействованные переменные и проверьте их значения.

2. Когда вы получите утверждение, войдите в отладчик (нажмите кнопку повторить), откройте окно фрейма стека и разматывайте фреймы, пока не найдете свой код. Re, почему вы получаете ссылки на диск D: и другую версию MSVC — код использует библиотеку, созданную с этой версией; это вызывает беспокойство, поскольку код может быть несовместим, если он построен с разными версиями. У MS есть документ о стабильности ABI, и я постараюсь его найти.

Ответ №1:

Установленный системой файл C:WINDOWSSYSTEM32MSVCP140D.dll был скомпилирован с vector включенным на D: диске

Таким образом, сбой происходит в библиотеке DLL, а не на вашем диске. Я полагаю, что файл является файлом поддержки C кода для Visual Studio 2015 и был создан поставщиком (Microsoft) на » D:»

D в конце MSVCP140 D говорит, что это двоичный файл отладки. Это не должно быть развернуто, если только это не машина разработчика с установленным VS2015.

Если это так, то vector ошибку можно прочитать, посмотрев на вашу машину.

Если у вас не установлен VS2015, то, к сожалению, ваш код не соответствует требованиям людей, выпускающих отладочный код.

Откройте код в отладчике и проверьте, вызван ли сбой ошибкой в данных, предоставляемых чем-либо, что вы контролируете (параметры для функций), если у вас есть vs2015, попросите VS открыть vector из вашей установки.