i и несколько тысяч других людей получают сообщение об ошибке в Microsoft Visual C ++ Runtime:
Что в пользу поисковых систем говорит:
Microsoft Visual C++ Runtime Library
Buffer overrun detected!
Program: %s
A buffer overrun has been detected which has corrupted the program's
internal state. The program cannot safely continue execution and must
now be terminated.
Теперь я понимаю, что такое переполнение буфера и почему это плохо. Учитывая новый акцент Microsoft на « он просто сломан », дополнительные проверки буфера в MSVCRT могут быть полезны.
С другой стороны, мне все равно. Дело не в том, что программа не может продолжаться, а в том, что она не может безопасно продолжить. Ну, я бы предпочел быть небезопасным, потому что это лучше, чем ничего. Мне нравится жить в опасности.
Так может кто-нибудь предложить что-нибудь? я думал о таких вещах, как:
- ключ реестра для предотвращения остановки MSVCRT
- запуск приложения в совместимости с предыдущей операционной системой (предшествующей Windows 7)
- добавление манифеста сборки в исполняемую папку, чтобы он использовал более старую версию MSVCRT, которая не выполняет проверку переполнения
- номер версии или место загрузки копии MSVCRT, не имеющей проверки переполнения
Я пытался найти сайт поддержки компании, которая написала Microsoft Visual C ++ Runtime Library , но в них не упоминается, какие функции могут быть переполнены, или как отключить проверку переполнения.