Bonjour,
Je vous explique mon problème :
J'ai une application écrite en C++/MFC qui lance une application développée en C#.
L'application écrite en C# fait un appel à une fonction d'une dll C#(sur laquelle je n'ai pas la main) qui initialise une jvm.
Hors il arrive lors de l'initialisation que j'ai un plantage "Sytem.OutOfMemoryException : Mémoire insuffisante pour continuer l'exécution du programme".
J'ai déja essayé d'allouer de la mémoire (via un GlobalAlloc)
HGLOBAL TestMemoire = GlobalAlloc(GHND, (int)((((256 + 64) * 1.2) + 192) * 1024 * 1024));
au lancement de l'application (InitInstance) et de la libérer par la suite juste avant de faire appel à la fonction qui lance la Jvm.
Cependant, je n'arrive pas à récupérer l'adresse mémoire et lorsque je fais un appel à GetLastError(), il me dit que tout va bien(0).
Par ailleurs, j'ai contacté la société propriétaire de la dll qui lance la jvm. Ils m'ont développé une fonction qui permet de manipuler l'initialisation de leur jvm via des variables(Xms, Xmx , PermSize, MaxPermSize) et m'ont annoncé que mis à part cela il ne pouvait rien faire de plus.
Je suis un peu perdu et en manque de solution.
Il me faudrait une aide svp. Merci
Partager