Updates for Visual Studio 2008 SP1 debugging and breakpoints

Traductions disponibles Traductions disponibles
Numéro d'article: 957912 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

INTRODUCTION

Microsoft has released updates for Microsoft Visual Studio 2008 SP1 debugger components. These updates mostly address issues that occur with stepping and with hitting breakpoints.

Plus d'informations

Installation

This update is for all versions of Visual Studio 2008 SP1 on both x86 and x64 computers. However, if you use Visual Studio 2008 Standard Edition on a 64-bit operating system, you must install the 64-bit Visual Studio 2008 SP1 Remote Debugger before you apply this update. For information about how to obtain the 64-bit Visual Studio 2008 SP1 Remote Debugger, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=440ec902-3260-4cdc-b11a-6a9070a2aaab&DisplayLang=en

Multi-process and multi-threaded debugger fixes

note The following descriptions refer to a hypothetical set of processes that are being debugged by a single instance of Visual Studio. When functions are referred, it is assumed that the functions are recursive or that the functions contain loops. These scenarios are not meant to reproduce the problem. Instead, they are provided to help explain the problem.

Breakpoints in parallelized loops are eventually ignored after multiple hits

Breakpoints put in loops or in recursive functions are not hit in all processes at each iteration. Frequently, some processes may pass through many iterations of a loop, ignoring the breakpoint, before a process is stopped. Envisagez le scénario suivant :
  1. You start debugging multiple processes. One of the processes that you are debugging is in a tight loop or it is a recursive function.
  2. You stop the main thread of the current process (the last process to hit the breakpoint), and then you continue to debug. You repeat this action for each process.
  3. You restart the threads for each process.
You notice that after several iterations, breakpoints are no longer hit. This behavior is unexpected.

Stopping and starting threads causes breakpoints to be missed

Breakpoints are hit, but they are not visible when you debug multiple processes in the Visual Studio debugger. Consider the following scenario in which you are debugging two processes, Process A and Process B.
  1. You set a breakpoint on both processes and start debugging. Both breakpoints will be hit.
  2. You stop the main thread of Process A, you select Process B, and then you press F11 to step into the command one time.
  3. You restart the main thread of Process A, and then you stop the main thread of Process B. Then, you press F11 to step into the command.

    You notice that both processes are at the same line.
  4. You stop the main thread of Process A. No threads should be stopped at this point.
  5. Press F5 to continue.
The process should finish, and Visual Studio should return to Design mode. However, this does not occur. The processes break again later in the code.

note If you remove the breakpoints after you press F5 to continue, the debugger runs until it is completed.

Visual Studio may crash when you debug multiple processes at the same time

Visual Studio Debugger may experience a deadlock when you start and then stop a thread and then run to the next breakpoint if multiple processes are being debugged. Envisagez le scénario suivant :
  1. You set breakpoints on three arbitrary variable declarations.
  2. You start debugging 16 processes.
  3. You break in to one of the processes, and then you stop its main thread.
  4. You press F5.
  5. You repeat steps 3 and 4 until all the processes have hit the breakpoint.
  6. You start the main threads of all the processes.
  7. For each process, you delete the first breakpoint, and then you press F5.
  8. For each process, you repeat steps 3 and 4. All processes should be at the second breakpoint.
  9. You press F5.
  10. For each process, you repeat steps 3 and 4.
All processes should reach the third breakpoint, but at least one process may be stuck in the running state.

Stepping over a disabled breakpoint when you debug a native application turns into a "go"

You debug a native application in Visual Studio that contains a disabled breakpoint. When you step the debugger past the disabled breakpoint, the remaining steps are lost, and the application continues to run.

Stepping when you debug a managed multithreaded application can randomly turn into a "go"

When you debug a multithreaded managed application, and you step into one thread while an event occurs with another thread, such as hitting a breakpoint, the step request is lost. And, the application continues to run.

Message Passing Interface (MPI) Debugger Fixes for Visual Studio Editions offering MPI-Plugin Support

Visual Studio crashes when you use the "Step Into" command to start an MPI program

When you use the Step into command, or press F11, to debug multiple instances of an MPI process, Visual Studio crashes. Ou, s'afficher le message d'erreur suivantes :
Microsoft Visual Studio has encountered and internal error

Running the "Step Over" command while you are debugging multiple processes causes a deadlock

If you run the Step Over command while you are debugging multiple processes, Visual Studio crashes. Envisagez le scénario suivant :
  1. You open a multithreaded application.
  2. You set a breakpoint on a recursive function call.
  3. You debug two processes.
  4. You start debugging. The breakpoint is hit in the first process.
  5. You press F5. The breakpoint is hit on the second process.
  6. You stop the main thread of the first process.
  7. You run the Step Over command on the second process, and then you click Pause.

    The operation cannot be completed because it is waiting for the first process. You click Pause to re-enter break mode. The debugger uses a green arrow to indicate the next statement process that it will run when it returns from the function.
  8. You add a breakpoint in the second process.
  9. You stop the first process, and then you press F5.
At this point, you expect the debugger to reach the breakpoint in each process. However, both processes are deadlocked inside the function, and the breakpoint that was last added is never hit. In addition, the debugger cannot run to the end of the application.

Breakpoint UI Fix

Disabled breakpoints are not visible after you install Visual Studio 2008 Service Pack 1

If you disable a breakpoint, the breakpoint is no longer hit. Also, the breakpoint is hidden from the left-most editor channel. The disabled breakpoint still exists. It is displayed in the Breakpoints Tool window.

Résolution

Un correctif est disponible auprès de Microsoft. Toutefois, ce correctif est conçu pour corriger le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n'êtes pas gravement touché par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielles qui contiendra ce correctif.

Pour télécharger ce correctif de la bibliothèque de code MSDN, reportez-vous au site de Web Microsoft suivant :
http://code.msdn.microsoft.com/KB957912

note La bibliothèque de code MSDN affiche les langues dont le correctif est disponible. Si vous ne voyez pas votre langue répertorié, il est parce que la page de ressources galerie de code n'est pas disponible pour cette langue.

note Si des problèmes supplémentaires se produisent ou si n'importe quel dépannage est nécessaire, vous devrez peut-être créer une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes non traités par ce correctif spécifique. Pour une liste complète des Microsoft client service et support numéros de téléphone ou pour créer une demande de service distincte, reportez-vous au site de Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=support

Conditions préalables

You must have Microsoft Visual Studio 2008 SP1 installed to apply this hotfix.

Demande de redémarrage

Vous devez redémarrer l'ordinateur après avoir appliqué ce correctif.

Informations sur le remplacement de correctif

Ce correctif ne remplace aucun autre correctif.

Informations de fichier

La version anglaise de ce correctif dispose les attributs de fichier (ou attributs de fichier version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, il est convertie en heure locale. Pour connaître le décalage entre l'heure UTC et heure locale, utilisez le fuseau horaire onglet dans la Date et heure élément dans le Panneau de configuration.
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
AvVsPkDH.dll9.0.30729.177325848-Nov-082:19x 86
AvVsPkDH.dll9.0.30729.177382168-Nov-082:19x 64
AvVsPkDH.dll9.0.30729.177750808-Nov-082:19IA-64
AvVsPkDH.dll9.0.30729.177750808-Nov-082:19x 86
AvVsPkDH.dll9.0.30729.177382168-Nov-082:19x 86
AvVsPkDH.dll9.0.30729.177325848-Nov-082:19x 86
cpde.dll9.0.30729.1776526088-Nov-082:19x 86
mcee.dll9.0.30729.17711809928-Nov-082:19x 86
mcee.dll9.0.30729.1776567048-Nov-082:19x 86
mcee.dll9.0.30729.1773648648-Nov-082:19x 86
mcee.dll9.0.30729.1773648648-Nov-082:19x 86
mcee.dll9.0.30729.1776567048-Nov-082:19x 64
mcee.dll9.0.30729.17711809928-Nov-082:19IA-64
mpishim.exe9.0.30729.177238808-Nov-082:19x 86
mpishim.exe9.0.30729.177238808-Nov-082:19x 86
mpishim.exe9.0.30729.177238808-Nov-082:19x 86
mpishim.exe9.0.30729.177238808-Nov-082:19x 86
mpishim.exe9.0.30729.177290008-Nov-082:19x 64
mpishim.exe9.0.30729.177546008-Nov-082:19IA-64
msvb7.dll9.0.30729.17740871048-Nov-082:19x 86
msvb7.dll9.0.30729.17757331848-Nov-082:19x 86
msvb7.dll9.0.30729.17727425928-Nov-082:19x 86
msvb7.dll9.0.30729.17740871048-Nov-082:19x 86
msvb7.dll9.0.30729.17740871048-Nov-082:19x 86
msvb7.dll9.0.30729.17727425928-Nov-082:19x 64
msvb7.dll9.0.30729.17757331848-Nov-082:19IA-64
msvsmon.exe9.0.30729.17799925208-Nov-082:19x 86
msvsmon.exe9.0.30729.17747614168-Nov-082:19x 86
msvsmon.exe9.0.30729.17732167128-Nov-082:19x 86
msvsmon.exe9.0.30729.17732167128-Nov-082:19x 86
msvsmon.exe9.0.30729.17747614168-Nov-082:19x 64
msvsmon.exe9.0.30729.17799925208-Nov-082:19IA-64
NatDbgDE.dll9.0.30729.17713479128-Nov-082:19x 86
NatDbgDE.dll9.0.30729.1773141848-Nov-082:19x 86
vsdebug.dll9.0.30729.17715849688-Nov-082:19x 86
msvb7.dll9.0.30729.17740871048-Nov-082:19x 86

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Propriétés

Numéro d'article: 957912 - Dernière mise à jour: mercredi 4 février 2009 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Studio 2008 Service Pack 1
Mots-clés : 
kbmt kbsurveynew kbhotfixserver kbexpertiseadvanced kbqfe KB957912 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 957912
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com