VS 2010 IDE 2 GB límite

Estoy usando VS 2010 en un sistema win 7 de 64 bits con 8 GB de memoria. Mi aplicación es de 32 bits. Mientras que en VS 2010 .Net IDE, la aplicación aparece en el administrador de tareas de Windows como "MyApp.vshost.exe * 32", mientras que VS IDE se muestra como "devenv.exe * 32".

Verifiqué y parece que el archivo IDE VS 2010 (devenv.exe) cumple con el indicador / LargeAddressAware.

Sin embargo, al depurar modelos grandes, el IDE falla con una excepción de memoria insuficiente. En el Administrador de tareas de Windows, el proceso "MyApp.vshost.exe * 32" indica aproximadamente 1400 MB de uso de memoria (mientras que el proceso "devenv.exe * 32" es muy inferior a 500 MB). ¿Es posible configurar el proceso "MyApp.vshost.exe * 32" como / LargeAddressAware para evitar esta situación de falta de memoria? Si es así, ¿cómo se puede hacer esto en el IDE? Si bien configurar el binario final de la aplicación para que sea / LargeAddressAware funcionaría, todavía necesito poder depurar la aplicación en el IDE con este tipo de modelos grandes. También debo tener en cuenta que mi aplicación tiene una jerarquía de objetos profunda con muchas colecciones que juntas requieren mucha memoria. Sin embargo, mi problema no está relacionado con el intento de crear, digamos, 1 matriz grande que requiere más de 2 GB de memoria, etc.

Debo tener en cuenta que puedo ejecutar la misma aplicación en el IDE de VB6 y no obtener una situación de falta de memoria mientras el IDE de VB6 esté hecho / LargeAddressAware. En el caso de VB6, el IDE y la aplicación que se está depurando son parte del mismo proceso (y no se dividen en 2 como es el caso con VS 2010.) El proceso VB6 puede ser mayor de 3 GB sin problemas de memoria .

Finalmente, mi objetivo es que mi aplicación se ejecute completamente en 64 bits para acceder a más memoria. Espero que en tales casos, el IDE permita que el proceso de depuración supere los 2 GB sin fallar (y ciertamente más de 1.4 GB como es el caso actual). Sin embargo, por ahora, mientras que el 95% de mi aplicación es de 64 bits, estoy llamando a una DLL COM de 32 bits heredada y, como tal, toda mi aplicación se ve obligada a ejecutarse en modo de 32 bits hasta que reemplace esa DLL.

Respuestas a la pregunta(2)

Su respuesta a la pregunta