Я использую VS 2010 на 64-битной системе win 7 с 8 ГБ памяти.Мое приложение 32-битное.В то время как в IDE VS 2010 .Net приложение отображается в диспетчере задач Windows как «MyApp.vshost.exe * 32», а сама ID ID VS отображается как «devenv.exe * 32».
Я проверил, и кажется, что файл IDE VS 2010 (devenv.exe) соответствует флагу / LargeAddressAware.
Однако при отладке больших моделей в среде IDE возникает ошибка «Недостаточно памяти».В диспетчере задач Windows процесс «MyApp.vshost.exe * 32» указывает на использование около 1400 МБ памяти (в то время как процесс «devenv.exe * 32» значительно меньше 500 МБ).Можно ли установить процесс "MyApp.vshost.exe * 32" в / LargeAddressAware, чтобы избежать ситуации нехватки памяти?Если это так, как это можно сделать в IDE.Хотя установка окончательного двоичного файла приложения на значение / LargeAddressAware будет работать, мне все еще нужно будет иметь возможность отлаживать приложение в среде IDE с такими типами больших моделей.Я также должен отметить, что мое приложение имеет глубокую иерархию объектов со многими коллекциями, которые вместе занимают много памяти.Однако моя проблема не связана с попыткой создать, скажем, 1 большой массив, для которого требуется более 2 ГБ памяти и т. Д.
Следует отметить, что я могу запустить одно и то же приложение в VB6 IDE и не получитьситуация нехватки памяти, пока создается среда VB6 / LargeAddressAware.В случае VB6 IDE и отлаживаемое приложение являются частью одного и того же процесса (а не делятся на 2, как в случае с VS 2010.) Процесс VB6 может быть больше, чем 3 ГБ, без проблем с памятью.
В конечном счете, моя цель - полностью запустить мое приложение в 64-битном режиме, чтобы получить доступ к большему объему памяти.Я надеюсь, что в таких случаях IDE позволит процессу отладки превысить 2 ГБ без сбоев (и, конечно, более 1,4 ГБ, как в текущем случае).Однако на данный момент, хотя 95% моего приложения является 64-разрядным, я вызываю устаревшую 32-разрядную библиотеку COM и, следовательно, все приложение вынуждено работать в 32-разрядном режиме, пока я не заменю эту библиотеку.