2016-02-12 5 views
0

Создание COM-библиотеки ATL COM в Vs2015 для потребителя VB6 идет плохо, потому что «отказоустойчивая куча кучи» применяется к VB6, который я запускаю из команды debug vs2015.Отказоустойчивая куча в Windows 10 под vs2015

Я нашел много сообщений об отключении FTH в Windows 7, и действительно, я применил их все, включая удаление DLL в \ Windows \ AppPatch, а также дезактивацию FTH в реестре и запуск скрипта rundll, который приведен ,

Тем не менее, эта проклятая вещь делает невозможным отладку DLL, потому что FTH заставляет ее работать как собака под VB6 в режиме отладки.

Я даже добавил «vb6.exe» и «full_path_to_vb6.exe» в список исключений в реестре - безрезультатно.

Отчаяние, и мне нужно выполнить некоторую работу сегодня, я переименовал vb6.exe в myvb7.exe (!), И это избавляет от предупреждения FTH в отладчике VS. Но почему я не могу отключить FTH для vb6.exe?

На самом деле, почему он вообще включен вообще при подключении отладчика? Сегодня это привело меня в бешенство.

Кто-нибудь?

+0

https://stackoverflow.com/questions/5020418/how-do-i-turn-off-the-fault-tolerant-heap –

+0

Возможно, это связано с тем, что vb6.exe имеет запись в встроенной памяти, в базе данных совместимости. В Windows 7 эта запись, похоже, не создает отказоустойчивую кучу, но в Windows 10 она может быть другой - или одна из применяемых прокладок может косвенно повлиять на решение использовать FTH. (Вы можете проверить базу данных совместимости с помощью набора средств совместимости приложений Microsoft.) –

+0

@ Джонатан: ни одна из связанных с записью не имеет значения для Windows 10 с vb6, как я описал в своем вопросе – user5916352

ответ

0

Не было слишком много помощи в этом вопросе. Для справки в будущем, если приложение (в данном случае VB6) настроено на запуск в режиме совместимости (либо щелчком правой кнопки мыши по ярлыку, который вы используете для его запуска, либо из свойства, установленного на самом целевом exe), тогда ничего не сделаете выпустит прокладку!

Решение: не запускайте vb6 в режиме совместимости под Windows 10!

+0

Это не похоже на решение. Используйте виртуальную машину, которая загружает XP вместо этого. Кто-то должен сделать этого клиента предложением, от которого он не может отказаться :) –