Comment : gérer les erreurs d'attachement
Mise à jour : novembre 2007
Cette rubrique s'applique à :
Édition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
![]() |
![]() |
![]() |
![]() |
Standard |
![]() |
![]() |
![]() |
|
Pro et Team |
![]() |
![]() |
![]() |
Légende du tableau :
![]() |
Applicable |
![]() |
Non applicable |
![]() |
Commande ou commandes masquées par défaut. |
Lorsque le débogueur Visual Studio s'attache à un processus en cours d'exécution, ce dernier peut contenir un ou plusieurs types de code. Le débogueur peut s'attacher à des codes natifs, managés, T-SQL et de script. Ces types de code sont affichés et sélectionnés dans la boîte de dialogue Attacher au processus.
![]() |
---|
Pour que le débogueur s'attache au code managé écrit en C++, le code doit émettre DebuggableAttribute. Vous pouvez ajouter cela automatiquement à votre code grâce à la liaison, à l'aide de l'option /ASSEMBLYDEBUG. |
Parfois, le débogueur peut réussir à s'attacher à un type de code, mais pas aux autres. Cela peut se produire si vous tentez d'attacher le débogueur à un processus exécuté sur un ordinateur distant. Il est possible que l'ordinateur distant possède des composants de débogage distant installés pour certains types de code, mais pas pour d'autres. Cela peut également se produire si vous tentez d'attacher le débogueur à plusieurs processus pour déboguer directement la base de données. Le débogage SQL prend en charge l'attachement à un seul processus uniquement.
Si le débogueur peut s'attacher à certains types de code mais pas à tous, un message semblable à celui-ci s'affiche :
The requested attach was not completed successfully.
Program types successfully attached are:
Common Language Runtime
Native (Win32)
Microsoft T_SQL
Program types that failed to attach are:
Script
Si le débogueur parvient à s'attacher à au moins un type de code, vous pouvez procéder au débogage du processus. Vous pouvez uniquement déboguer les types de code attachés avec succès. L'exemple de message précédent indique que le code de type script n' a pas réussi à s'attacher. Il vous sera donc impossible de déboguer le code de script se trouvant dans le processus. Le code de script continuera de s'exécuter dans le processus, mais vous ne pourrez pas définir des points d'arrêt, afficher des données ni réaliser d'autres opérations de débogage dans le script.
Si vous souhaitez des informations plus spécifiques sur l'incapacité du débogueur à s'attacher à un type de code, vous pouvez tenter d'attacher à nouveau le débogueur uniquement à ce type de code.
Pour connaître les raisons de l'échec de l'attachement d'un type de code
Détachez-vous du processus. Pour ce faire, dans le menu Déboguer, cliquez sur Détacher tout.
Attachez-vous de nouveau le processus en sélectionnant un seul type de programme.
Dans la boîte de dialogue Attacher au processus, sélectionnez le processus dans la liste Processus disponibles.
Cliquez sur Sélectionner.
Dans la boîte de dialogue Sélectionner le type de code, sélectionnez Déboguer ces types de codes et le type de code qui a échoué lors de l'attachement. Effacez tout autre code.
Cliquez sur OK. La boîte de dialogue Sélectionner le type de code se ferme.
Dans la boîte de dialogue Attacher au processus, cliquez sur Attacher.
Cette fois-ci, l'attachement échoue entièrement et un message d'erreur spécifique s'affiche.