2009-08-03 8 views
1

Sur une toute nouvelle machine Vista, je reçois l'erreur suivante - instantanément - chaque fois que je tente de démarrer un projet en mode débogage:Visual Studio 2008 lecture ou l'écriture de la mémoire protégée lors du débogage

Tentative de lecture ou écrire en mémoire protégée . C'est souvent une indication que l'autre mémoire est corrompue.

Je n'achète pas la partie «autre mémoire est corrompue» du message. Je pensais que l'erreur pouvait être liée à un projet que je venais de déplacer sur la nouvelle machine, mais même un tout nouveau projet vide présente le même comportement. Et je ne reçois aucun message lorsque je démarre sans débogage.

J'ai lu en ligne sur quelques corrections:

  1. Il y avait un service pack pour .NET 2.0 en 2007 qui aborde les questions. Je suis sur 3.5 SP1, donc je doute que ce soit le problème.
  2. Compilez explicitement pour x86, car les DLL que vous référencez sont en 32 bits et vous aurez des problèmes. Je suis sur un Core 2 Duo, mais en cours d'exécution Vista 32 bits, de sorte que cela ne devrait pas être un problème, non? (De plus, dans le projet de test, pas de DLL.)
  3. Sous déboguer, décochez "Supprimer l'optimisation JIT sur la charge du module". Je n'ai rien fait pour moi.
  4. Essuyez tout le système d'exploitation et réinstallez VS2008. (Cela a apparemment fonctionné pour un enfant.) Je n'ai pas le temps pour ça maintenant.

Je peux probablement faire ce que j'ai besoin de faire sans débogage, mais j'aimerais bien le récupérer. Si quelqu'un ici peut penser à pourquoi cela pourrait se produire, s'il vous plaît faites le moi savoir. Merci.

+0

Quels types de compléments utilisez-vous? Sont-ils à jour? Une affiche du forum a mentionné que leur coupable était VisualSVN – bkritzer

+0

Non, pas de compléments. C'est une machine fraîche avec une nouvelle installation de VS. – dnord

Répondre

1

Une autre chose que vous pouvez essayer est de faire ce qui suit: SI c'est un projet web. dans le fichier web.config définir les paramètres suivants:

<system.web> 

<trust level="Full"/> 

</system.web> 

Bien que ce n'est pas idéal, si cela fonctionne, alors vous pouvez commencer à raccourcir la question. L'erreur que vous recevez est une erreur très générique et peut également être causée par DEP (Data Execution Prevention). D'après ce que je comprends, thats habituellement uniquement sur Windows Server 2003. Si vous êtes sur Windows2003, vous pouvez effectuer les opérations suivantes pour désactiver DEP:

  1. clic droit sur Poste de travail et cliquez sur Propriétés
  2. Cliquez sur l'onglet Avancé
  3. Cliquez sur le bouton Paramètres dans la section Performance
  4. Assurez-vous que le bouton radio « Activer DEP pour tous les processus et les services, sauf ceux que je sélectionnez » est cochée
  5. Cliquez sur Ajouter au bas de la liste
  6. Accédez au executale qu'ils vont courir et sélectionnez
  7. Vérifiez que la case à côté du nom de executables dans la liste est sélectionnée, puis cliquez sur OK

La dernière option est qu'il pourrait peut-être aussi être une erreur lors de l'interrogation d'une base de données. Dans ce cas, vous devez vérifier la requête/oledb paramètre paramètre type/valeurs/ordre des paramètres oledb correctement.Je souhaite que l'une de ces solutions vous aide! Bonne chance!

+0

Merci d'avoir tapé ceci. En outre, l'étrange a empoisonné l'ordinateur portable, et donc je le fais réimaginé. Fou. – dnord

+0

pas un problème! Parfois, la seule solution est de refaire tristement le PC. À votre santé! – StevenMcD

Questions connexes