System.AccessViolationException

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

Ben

Master Chief
V
Ancien staff
Mar 3, 2011
4,069
3
944
Un peut partout.
Salut, j'ai rarement besoin d'aide mais là je planche complètement, même en ayant cherché sur Google .
En bref je dev une appli et le lendemain je voulais continuer et la terminé, résultat dès que je lance le debug de l'appli j'ai une erreur lié à la dll (System.Drawing)
Je dev sous Visual Studio Ultimate 2010

PHP:
System.AccessViolationException was unhandled
  Message=Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.
  Source=System.Drawing
  StackTrace:
       à System.Drawing.SafeNativeMethods.Gdip.GdipFillRectangleI(HandleRef graphics, HandleRef brush, Int32 x, Int32 y, Int32 width, Int32 height)
       à System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
       à System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
       à System.Windows.Forms.ControlPaint.DrawBackgroundImage(Graphics g, Image backgroundImage, Color backColor, ImageLayout backgroundImageLayout, Rectangle bounds, Rectangle clipRect, Point scrollOffset, RightToLeft rightToLeft)
       à System.Windows.Forms.Control.PaintBackground(PaintEventArgs e, Rectangle rectangle, Color backColor, Point scrollOffset)
       à System.Windows.Forms.Control.PaintBackground(PaintEventArgs e, Rectangle rectangle)
       à System.Windows.Forms.Control.OnPaintBackground(PaintEventArgs pevent)
       à System.Windows.Forms.ScrollableControl.OnPaintBackground(PaintEventArgs e)
       à System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
       à System.Windows.Forms.Control.WmEraseBkgnd(Message& m)
       à System.Windows.Forms.Control.WndProc(Message& m)
       à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       à System.Windows.Forms.ContainerControl.WndProc(Message& m)
       à System.Windows.Forms.Form.WndProc(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       à System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
       à System.Windows.Forms.Control.SetVisibleCore(Boolean value)
       à System.Windows.Forms.Form.SetVisibleCore(Boolean value)
       à System.Windows.Forms.Control.set_Visible(Boolean value)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.Run(ApplicationContext context)
       à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
       à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
       à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
       à Pastebin_Upload.My.MyApplication.Main(String[] Args) dans 17d14f5c-a337-4978-8281-53493378c1071.vb:ligne 81
       à System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       à System.Threading.ThreadHelper.ThreadStart()
J'ai une image en Background de la form et c'est ça qui fait planter l'appli, si je l'enlève je n'ai plus d'erreur.

J'ai testé de récréer un projet avec une image différente et je me retrouve avec là même erreur, j'ai aussi testé de changer de Framework (en général je dev en .Net 2 et là j'ai testé en .Net 4 c'est pareil.)

Ce qui est vraiment étrange c'est que si je lance l'appli sans le debuger de Visual Studio depuis le fichier exécutable directement je n'ai plus d'erreur !!!

Alors je ne comprends vraiment pas d'ou viens cette erreur, si je peux lancer l'appli sans erreur en dehors de Visual Studio ce ne dois pas être un problème venant d'une dll mais bien de Visual Studio lui-même non ?
 

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
Ton image est utilisée par un autre processus ? Puisque tu peux lancer la version stable d'avant, l'erreur vient du fait que VS ne peux pas modifier cette image.
 

Ben

Master Chief
V
Ancien staff
Mar 3, 2011
4,069
3
944
Un peut partout.
Comme dit, j'ai testé avec plusieurs images différentes, et le message d'erreur qu'il y a quand plusieurs processus essaie d'utiliser une même ressource n'est pas du tous le même.
Merci quand même mais si ça avais un truc aussi simple je n’aurais pas fait un topic pour demander de l'aide, ça fait maintenant 3 jours que je suis dessus et je ne trouve toujours pas la cause du problème, j'ai même ddl des correctifs du Framework mais rien ni fait ...
Chui à deux doigts de réinstaller windaube là ..
 

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
Tu peux m'envoyer le projet à l'occasion, voir si ça vient de ton windaube.
Ta form a rien de particulier ?
 

Ben

Master Chief
V
Ancien staff
Mar 3, 2011
4,069
3
944
Un peut partout.
Bha ouai je peux, mais comme dit j'ai testé en créant un nouveaux projet avec rien dessus ça fait pareil ! rien de rien juste la Form1 avec un BackgroundImage.
Même testé sans avoir l'image dans la ressource, ça me fait pareil ...
 

Attachments

  • WindowsApplication1.rar
    112.2 KB · Views: 2

Ben

Master Chief
V
Ancien staff
Mar 3, 2011
4,069
3
944
Un peut partout.
Bon après je ne sais même plus combien de choses testé j'ai trouvé la solution, déjà j'ai désinstaller tout les Framework (sauf .Net1 & .Net2 impossible à supprimer une fois installé) et de nouveaux Visual studio Ultimate + tous les composants depuis Ajout/Suppression de programme.

Ensuite redémarrer le PC et réinstaller Visual studio Ultimate et tous les Framework donc :
.Net 2 : Solution plus bas.
.Net 3.5 : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
.Net 4 : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Après plusieurs essaie/teste le problème viens en faite du Net Framework 2 car tous remarche avec Net Framework 4 si je mets la propriété de la form "DoubleBuffer" sur TRUE !!! (j'avais déjà essayé avant de tout désinstallé mais ça n'avais pas marché !)

Mais avec .Net 2 pas moyen toujours la même erreur..
J'ai essayé de supprimer et réinstaller .Net 2 mais c'est impossible et le package pour réparer n'est pas fournis !
Par la suite une petite recherche Google j'ai vue pas mal de réponse et une bonne pour réparer le .Net 2 je cherchais donc le fichier (Netfx20a_x86.msi)

Sur un forum : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris! il est dit que ce package est dans .Net 3.5 ! donc je le ddl : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris! et extrait sur mon bureau ensuite je trouve le fichier tant cherché et de là j'ai pu réparer .Net 2 ENFIN !

En finale je ne sais toujours pas ce qu'il c'est passé et maintenant je dois toujours mettre la propriété de la form DoubleBuffer sur True pour que je puisse dev avec une ou plusieurs image dans ma/mes forms.

Problème résolue, si ça peux aider quelqu'un un jour tant mieux !

Bon bha EDIT : Ne fonctionne plus après que j'ai importer une form dans un nouveaux projet, résultat pareil même message d'erreur...
Même en récréant un projet vierge ....
Je ne sais toujours pas d’où ça viens finalement..
Bref ce coup si je réinstalle WINDAUBE oui parce que c'est de la merde !!!!!!!!!!!!
 
Last edited:
Status
Not open for further replies.