1

Nous avons une application 32 bits composée de certains processus. Ils communiquent avec la mémoire partagée d'une DLL utilisée par chaque processus. La mémoire partagée est construite avec des variables globales en C++ par "#pragma data_seg (" Shared ")". Lors de l'exécution de cette application au cours du démarrage d'un nouveau processus en plus d'un (premier) processus existant, nous observons que la mémoire partagée des deux processus n'est pas la même. Tous les nouveaux processus démarrés ne peuvent pas communiquer avec le premier processus. Après l'arrêt de tous nos processus et le redémarrage de l'application (avec certains processus), tout fonctionne correctement. Mais un jour ou l'autre après avoir démarré et terminé avec succès de nouveaux processus, le problème se reproduit.La mémoire partagée de la même DLL dans différents processus 32 bits est parfois différente dans une session de terminal sur le serveur Windows 2008 avec 64 bits

En cours d'exécution sur toutes les autres versions de Windows ou des sessions de terminal sur Windows Server 2003, notre application n'a jamais rencontré ce problème. Y at-il une nouvelle "fonctionnalité" sur Windows Server 2008 qui pourrait perturber le hamony de notre application?

Répondre

1

Windows exécute des programmes 32 bits sous un wrapper appelé Wow64. Vos processus s'exécutent tous sous le même wrapper Wow64 (utilisez Process Explorer pour voir l'arbre de processus).

Questions connexes