Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour déboguer du code au moment de la conception plutôt que lorsque l'application est en cours d'exécution, vous pouvez utiliser la fenêtre Immédiat.
Pour déboguer du code XAML derrière une application à partir du concepteur XAML, comme les scénarios de liaison de données déclaratives, vous pouvez utiliser Déboguer>Attacher au processus.
Utiliser la fenêtre Immédiate
Vous pouvez utiliser la fenêtre Exécution de Visual Studio pour exécuter une fonction ou une sous-routine sans exécuter votre application. Si la fonction ou la sous-routine contient un point d’arrêt, Visual Studio s’interrompt au point d’arrêt. Vous pouvez ensuite utiliser les fenêtres du débogueur pour examiner l’état de votre programme. Cette fonctionnalité est appelée débogage pendant la conception. Pour plus d’informations, voir Utiliser la fenêtre Exécution
L’exemple suivant est en Visual Basic. Vous pouvez également utiliser la fenêtre Exécution au moment du design dans les applications C#, F# et C++/CLI. Pour C++/CLI, compilez sans l’option /clr pour utiliser la fenêtre Immédiat.
Collez le code suivant dans une application console Visual Basic vide :
Module Module1 Sub Main() MySub() End Sub Function MyFunction() As Decimal Static i As Integer i = i + 1 Return i End Function Sub MySub() MyFunction() End Sub End ModuleDéfinissez un point d’arrêt sur la fonction end de ligne.
Ouvrez la fenêtre Immédiat en sélectionnant Déboguer>Windows>Immédiat. Tapez
?MyFunctiondans la fenêtre, puis appuyez sur Entrée.Le point d’arrêt est atteint et la valeur de MyFunction dans la fenêtre Locals est 1. Vous pouvez examiner la pile des appels et d’autres fenêtres de débogage pendant que l’application est en mode arrêt.
Sélectionnez Continuer dans la barre d’outils Visual Studio. L’application se termine et 1 est retourné dans la fenêtre Immédiate. Assurez-vous que vous êtes toujours en mode création.
Tapez
?MyFunctionà nouveau dans la fenêtre Exécution , puis appuyez sur Entrée. Le point d’arrêt est atteint et la valeur de MyFunction dans la fenêtre Locals est 2.Sans sélectionner Continuer, tapez
?MySub()dans la fenêtre Exécution , puis appuyez sur Entrée. Le point d’arrêt est atteint et la valeur de MyFunction dans la fenêtre Locals est 3. Vous pouvez examiner l’état de l’application pendant que l’application est en mode arrêt.Sélectionnez Continuer. Le point d’arrêt est à nouveau atteint et la valeur de MyFunction dans la fenêtre Locals est désormais 2. La fenêtre Immédiat retourne L’expression a été évaluée et n’a aucune valeur.
Sélectionnez Continuer à nouveau. L’application se termine et 2 est retourné dans la fenêtre Immédiate. Assurez-vous que vous êtes toujours en mode création.
Pour effacer le contenu de la fenêtre Exécution , cliquez avec le bouton droit dans la fenêtre, puis sélectionnez Effacer tout.
Déboguer un contrôle XAML personnalisé au moment du design en attachant au concepteur XAML
Ouvrez votre solution ou projet dans Visual Studio.
Générez la solution/le projet.
Ouvrez la page XAML contenant le contrôle personnalisé que vous souhaitez déboguer.
Pour les projets UWP ciblant Windows build 16299 ou ultérieur, cette étape démarre le processus de UwpSurface.exe. Pour les projets WPF ciblant Windows build 16299 ou ultérieur, cette étape démarrera le processus WpfSurface.exe . Pour les versions WPF ou UWP antérieures à la version 16299 de Windows, cette étape démarre le processusXDesProc.exe.
Ouvrez une deuxième instance de Visual Studio. N’ouvrez pas de solution ou de projet dans la deuxième instance.
Dans la deuxième instance de Visual Studio, ouvrez le menu Déboguer et choisissez Attacher au processus....
Selon le type de projet (voir les étapes précédentes), sélectionnez le UwpSurface.exe, WpfSurface.exeou le processus deXDesProc.exe dans la liste des processus disponibles.
Dans le champ Attacher au champ de la boîte de dialogue Attacher au processus , choisissez le type de code approprié pour le contrôle personnalisé que vous souhaitez déboguer.
Si votre contrôle personnalisé a été écrit dans un langage .NET, choisissez le type de code .NET approprié, tel que Managed (CoreCLR). Si votre contrôle personnalisé a été écrit en C++, choisissez Native.
Attachez la deuxième instance de Visual Studio en cliquant sur le bouton Attacher.
Dans la deuxième instance de Visual Studio, ouvrez les fichiers de code associés au contrôle personnalisé que vous souhaitez déboguer. Veillez à simplement ouvrir les fichiers, et non à l’ensemble de la solution ou du projet.
Mettez les points d’arrêt nécessaires dans les fichiers précédemment ouverts.
Dans la première instance de Visual Studio, fermez la page XAML contenant le contrôle personnalisé que vous souhaitez déboguer (la même page que celle que vous avez ouverte dans les étapes précédentes).
Dans la première instance de Visual Studio, ouvrez la page XAML que vous avez fermée à l’étape précédente. Cela entraîne l’arrêt du débogueur au premier point d’arrêt que vous avez défini dans la deuxième instance de Visual Studio.
Déboguez le code dans la deuxième instance de Visual Studio.