VS2008 se bloque lors de la mise en mode de conception sur une solution très grande

StackOverflow https://stackoverflow.com/questions/4585909

  •  14-10-2019
  •  | 
  •  

Question

Ceci se produit sur plusieurs machines de développeurs qui viennent de recevoir. Nous avons une solution très grande, 70+ projets. Si vous ouvrez une forme quelconque, même un nouveau formulaire vierge, en mode conception, plantages VS la plupart du temps. Création d'une solution plus petite avec certains des mêmes projets ne cause pas la question. Et tous les développeurs avoir. Nous avons VS2008 SP1, Windows XP, et il est VB.net Winforms. J'ai cherché google, mais tous les accidents VS semble impliquer addins ou WPF. Ils ne sont pas nouvelles machines mais ont été re imagé par le département IT, je pense qu'ils sont tous copiés à partir de la même image.

Exception:

System.AccessViolationException was unhandled
  Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
  Source="System.Drawing"
  StackTrace:
       at System.Drawing.SafeNativeMethods.Gdip.GdipFillRectangleI(HandleRef graphics, HandleRef brush, Int32 x, Int32 y, Int32 width, Int32 height)

       at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)

       at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)

       at ystem.Windows.Forms.Design.Behavior.SelectionBorderGlyph.Paint(PaintEventArgs pe)

       at     
System.Windows.Forms.Design.Behavior.BehaviorService.PropagatePaint(PaintEventArgs pe)

       at System.Windows.Forms.Design.Behavior.BehaviorService.AdornerWindow.WndProc(Message& m)


       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, 
IntPtr wparam, IntPtr lparam)

Pour votre information: si vous vous demandez comment obtenir l'exception du studio visuel. J'ai ouvert 2 copies de VS. Je joint le premier à la seconde sous Outils \ Attach processus. Ensuite, a ouvert la solution dans la seconde et il est écrasé.

Était-ce utile?

La solution 2

On dirait qu'un pilote de vidéo liés, même si les machines sont différents modèles avec vidéo différents. Toutes les machines Effectuée travaillent avec le pilote vidéo désactivé dans le gestionnaire de périphériques. Installation du dernier pilote vidéo a fixé tout sauf l'un d'eux. Celui qui ne fixe travaille maintenant si vous faites glisser le curseur de l'accélération matérielle presque rien. L'astuce du curseur ne fonctionnait pas avant ce qui était la raison pour laquelle je ne l'avais pas considéré la vidéo comme le problème. Nous allons probablement vivre w / o l'accélération matérielle sur cette machine.

Nous avons eu quelques machines sont disponibles en un an il y a ce ne serait pas montrer le concepteur du jeu de données, et nous avons dû refuser l'accélération matérielle sur ceux pour les amener à montrer. Ainsi, plusieurs de nos machines sont en cours d'exécution de cette façon déjà.

Autres conseils

Cela ressemble à un bogue dans GDI +. Je devine qu'il ne gère pas manquer de ressources réelles bien. Windows donne un processus un quota sur des choses comme les poignées, les fenêtres et les ressources GDI comme des stylos et pinceaux. Quand il dépasse 10 000 d'entre eux, il refuse de donner plus, en supposant qu'une fuite dans le programme est le problème.

Vous pouvez voir cela avec Taskmgr.exe, onglet Processus. Afficher + Sélectionner les colonnes, les poignées de tiques, objets utilisateur et objets GDI. Une fois que l'un de ces Rapprochez du quota, toutes sortes de misère commence à se produire. En général, la peinture bizarreries btw. Mais certainement code peut se bloquer lorsqu'il ne vérifie pas que l'appel API renvoie NULL. Trop commun dans le code non géré.

GDI + était beaucoup amélioré pour Vista, Devs vraiment ne devrait pas être en cours d'exécution XP plus ces jours-ci. Win7 est tout à fait agréable. Aussi la seule véritable façon d'apprendre à faire face à UAC et la session 0 isolement.

Pour contourner ce problème possible, demandez à superuser.com comment augmenter le quota de processus par défaut. Sa part dans le registre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top