Я только что установил машину Windows 10, так как Windows 7 теперь отбрасывается ... вместе со старым classi c VC6. Плюс Пакет обновления 6 и Platform SDK установлены. Я использовал его таким образом, без проблем на моей машине Windows 7 в течение десятилетий (слишком долго, чтобы go, почему бы не перейти на VS 2010, 2012, 2015, 2017, 2019, yada yada, yada ... Тема для другой дискуссии)
Я поднял существующий проект, в котором я работал до конца года. Большой exe, несколько DLL в нем, объекты C ++ и т. Д. c ... До 1 января все работало нормально.
На моей новой установке Windows 10, когда я пытался запустить ее в отладчике, выдается ошибка:
Это появляется даже до вызова основного . И исполняемый файл сразу же существует, даже до появления окна сообщения, поэтому нет трассировки стека для проверки. Естественно, я искал любые конструкторы C ++, которые могли бы быть вызваны, которые могли бы повредить вещи. Но их не было. (и в любом случае у меня не было проблем на моем Windows 7 компьютере)
Я сузил его до следующего условия: Основной EXE статически связан с LIB / DLL. Это dll статически связан с другой библиотекой LIB / DLL. Когда я удаляю нижележащую зависимость DLL, я могу запустить исполняемый файл в отладчике.
Я нашел несколько проектов, которые испытывают это.
У меня есть тестовый проект (файлы dsw и dps), который демонстрирует это (по крайней мере, на моей машине Windows 10), если кто-то захочет посмотреть на него. Это разделено ни на что, кроме раковин. EXE-файл, связанный с DLL, который связан с другой DLL. Если я уберу внутреннюю зависимость DLL на этапе компоновки, исполняемый файл с одной DLL будет работать нормально.
Кроме того, EXE также будет работать вне отладчика. Отладка и выпуск.
Наконец, когда я устанавливаю конфигурацию для выпуска, она также запускается в IDE, но не имеет отладочной информации. Однако, если я включаю отладочную информацию в сборках выпуска, она снова вылетает перед запуском.
Так что, очевидно, в windows 10 есть что-то, что мешает запуску контейнера отладки. Я также отключил "Fault Tolerant Heap Shim", но без изменений.
Кто-нибудь испытывал что-то подобное?
У кого-нибудь есть советы?
-Scotty