Déboguer des projets Bureau

Vous pouvez déboguer Bureau projets à l’aide des mêmes outils Microsoft Visual Studio que ceux que vous utilisez pour d’autres projets Visual Studio. Les fonctionnalités du débogueur Visual Studio, telles que la possibilité d’insérer des points d’arrêt et d’afficher des variables dans la fenêtre Locals, sont également disponibles lorsque vous déboguez des projets Bureau. Pour plus d’informations sur les outils de débogage Visual Studio, consultez Déboguer dans Visual Studio.

Conseil

Pour simplifier le débogage, fermez toutes les instances ouvertes de l'application Office avant de la générer et de la déboguer.

S’applique à : les informations contenues dans cette rubrique s’appliquent aux projets au niveau du document et aux projets de complément VSTO. Consultez les fonctionnalités disponibles par application Office lication et le type de projet.

Remarque

Vous souhaitez développer des solutions qui étendent l’expérience de Bureau sur plusieurs plateformes ? Consultez le nouveau modèle de compléments Bureau. Bureau compléments ont une petite empreinte par rapport aux compléments et solutions VSTO, et vous pouvez les créer à l’aide de presque n’importe quelle technologie de programmation web, telle que HTML5, JavaScript, CSS3 et XML.

Démarrer et arrêter le débogueur

Vous pouvez commencer à déboguer un projet Bureau comme vous commencez à déboguer d’autres projets Visual Studio. Par exemple, vous pouvez appuyer sur la touche F5. Lorsque vous démarrez le débogage d’un projet de complément VSTO, un nouveau processus pour la application Office lication ciblée est démarré et le complément VSTO est chargé.

Lorsque vous commencez à déboguer un projet de niveau document, le document ou le classeur s'ouvre dans un nouveau processus Word ou Excel.

Lorsque vous arrêtez le débogueur, ce dernier met brusquement fin au processus d'application, ou se détache si vous l'avez configuré pour cela. Tous les autres documents ouverts dans le processus d'application Office arrêté sont également fermés sans avertissement, et les modifications non enregistrées sont perdues. Cela inclut tous les documents ou classeurs qui sont ouverts pendant que le débogueur est en cours d'exécution.

En général, il est préférable de se détacher du processus avant d'arrêter le débogueur, afin de pouvoir quitter l'application Office de manière normale. Vous pouvez également vous détacher d'abord du processus si vous souhaitez toujours utiliser un document ou une feuille de calcul après l'arrêt du débogueur.

Si vous déboguez une personnalisation au niveau du document pour Word, l'arrêt répété du débogueur et la fermeture soudaine de Word peuvent endommager le modèle Normal. Si cela se produit, vous pouvez supprimer le modèle Normal endommagé : il sera automatiquement recréé à la prochaine ouverture de Word. Toutefois, les macros qui étaient stockées dans le modèle Normal ne sont pas recréées.

Déboguer des compléments Office 2013 VSTO à l’aide d’Office 2013 ou d’Office 2016

Si vous utilisez Visual Studio 2015 et que vous disposez des deux versions de Bureau installées côte à côte, Visual Studio démarre Bureau 2016. Si vous utilisez Visual Studio 2013, Visual Studio démarre Bureau 2013.

Si vous voulez déboguer votre complément VSTO à l’aide d’une autre version d’Office (2013 ou 2016), ouvrez le Concepteur de projets, et sous l’onglet Déboguer , choisissez la case d’option Démarrer le programme externe . Accédez ensuite à l'emplacement de l'exécutable d'application Office approprié.

Comportement F10 et F11

Lorsque vous démarrez le débogage d’un projet Bureau, F10 et F11 n’ont pas le même comportement que lorsque vous démarrez le débogage d’autres projets Visual Basic ou C#. Dans les projets Visual Basic ou C#, le débogueur s'arrête sur la fonction principale (main) ; dans des projets Office, Visual Studio n'a pas le contrôle sur la fonction principale de l'application Office. Toutefois, pendant le débogage, F10 et F11 ont les mêmes fonctions que dans les projets Visual Basic et C#.

Afficher les exceptions

En raison de la façon dont le code managé interagit avec le code non managé, Visual Studio n'affiche pas les erreurs générées par les applications Microsoft Office. Par exemple, si un complément VSTO créé à l’aide d’Bureau outils de développement dans Visual Studio lève une exception, microsoft application Office lication continue sans afficher d’erreur. Pour consulter ces erreurs, configurez le débogueur pour qu'il s'arrête sur les exceptions Common Language Runtime. Pour plus d’informations, consultez Gérer les exceptions avec le débogueur.

Si vous configurez le débogueur pour qu'il s'arrête sur les exceptions Common Langage Runtime, toutes les exceptions s'arrêteront alors dans le débogueur, y compris celles que vous avez gérées et certaines exceptions de première chance du runtime lui-même, qui peuvent ne pas concerner votre projet. Des erreurs faisant référence au fait que msosec est introuvable apparaissent dans chaque projet, mais peuvent être ignorées en toute sécurité. Ces exceptions msosec n'affecteront pas votre solution.

Vous pouvez également utiliser des instructions Try...Catch autour de vos méthodes pour intercepter les exceptions.

Par défaut, Visual Studio n'affiche pas non plus les erreurs de débogage juste-à-temps pour les projets Office ; toutefois, vous pouvez activer cette fonctionnalité pour consulter les erreurs générées. Pour plus d’informations, consultez débogage juste-à-temps dans Visual Studio.

Arguments de ligne de commande

Si l’actionde démarrage sur la page de propriétés Debug est définie sur Démarrer le projet, Visual Studio n’utilise pas d’arguments de ligne de commande lors du débogage du projet, même si vous avez spécifié des arguments de ligne de commande comme options de démarrage. Si vous souhaitez utiliser des arguments de ligne de commande lorsque vous démarrez le débogage, vous devez sélectionner une action de démarrage autre que Démarrer le projet.

Contrôle de code source

Les propriétés de débogage ne sont pas partagées entre plusieurs utilisateurs sous contrôle de code source. Les projets Visual Basic et C# stockent les propriétés de débogage dans un fichier spécifique à l'utilisateur (Nom_projet.vbproj.user ou Nom_projet.csproj.user), et ce fichier n'est pas sous contrôle de code source. Si plusieurs personnes effectuent un débogage, chacune d'entre elles doit entrer manuellement les propriétés de débogage.

Déboguer des jeux de données mis en cache dans un projet au niveau du document

Chaque fois que vous générez un projet, le groupe de données est vidé et recréé. Si vous souhaitez déboguer un groupe de données mis en cache, vous devez ouvrir le document en dehors de Visual Studio, puis attacher le débogueur.

Déboguer des projets de document Word en fonction du format document Word 97-2003 (*.doc)

Pour déboguer un projet de document Word basé sur le format Document Word 97-2003 (/.doc*), vous devez ajouter le dossier du projet à la liste des dossiers approuvés. Pour plus d’informations sur la procédure à suivre, consultez Accorder l’approbation aux documents.

Déboguer les compléments désactivés

Les applications Microsoft Office peuvent désactiver les compléments VSTO qui se comportent de façon inattendue. Une application Microsoft Office désactive les compléments VSTO pour empêcher le chargement de tout code problématique chaque fois qu’elle démarre. Toutefois, il est également facile de provoquer un comportement inattendu au cours d'un débogage classique. Pour plus d’informations sur la façon de réactiver les compléments VSTO, consultez Guide pratique pour réactiver un complément VSTO désactivé.

Les applications Microsoft Office utilisent deux types de désactivation pour les compléments VSTO : dure et douce.

Désactivation difficile

La désactivation difficile peut se produire lorsqu’un complément VSTO entraîne la fermeture inattendue de l’application. Elle peut également se produire sur votre ordinateur de développement si vous arrêtez le débogueur pendant que le gestionnaire d'événements Startup de votre complément VSTO est en cours d'exécution. Lorsqu’un complément VSTO est désactivé en dur, il apparaît dans la liste Éléments désactivés de l’application.

Si une application Office lication désactive en dur un complément VSTO créé à l’aide d’Bureau outils de développement dans Visual Studio, l’application désactive uniquement le complément VSTO qui a provoqué l’échec. Les autres compléments VSTO créés à l’aide des outils de développement Office dans Visual Studio pour cette application Office continuent à se charger.

Désactivation réversible

La désactivation en douceur peut se produire quand un complément VSTO génère une erreur qui n'entraîne pas la fermeture inattendue de l'application. Par exemple, une application peut entraîner la désactivation en douceur d'un complément VSTO, si ce dernier lève une exception non gérée pendant l'exécution du gestionnaire d'événements Startup . Lorsqu’un complément VSTO est désactivé de manière réversible, il apparaît dans la liste compléments d’application inactifs de l’application et l’application modifie la valeur de l’entrée de Registre LoadBehavior pour le complément VSTO pour indiquer qu’elle est déchargée. Pour plus d’informations sur l’entrée de Registre LoadBehavior , consultez les entrées de Registre pour les compléments VSTO.

Résoudre les erreurs d’installation à l’aide de l’Observateur d’événements

Le runtime Visual Studio Tools pour Office écrit des messages dans l’Observateur d’événements dans Windows pour toutes les exceptions levées lorsque vous installez ou désinstallez des solutions Bureau. Vous pouvez utiliser ces messages pour résoudre les éventuels problèmes d'installation et de déploiement.

Résoudre les erreurs de démarrage à l’aide d’un fichier journal et de messages d’erreur

Le runtime Visual Studio Tools pour Office peut écrire toutes les erreurs qui se produisent au démarrage dans un fichier journal ou afficher chaque erreur dans une boîte de message. Par défaut, ces options sont désactivées. Vous pouvez activer les options en créant des variables d’environnement.

Pour afficher chaque erreur dans une boîte de message, créez une variable d'environnement nommée VSTO_SUPPRESSDISPLAYALERTS et affectez-lui la valeur 0 (zéro). Vous pouvez supprimer les messages en supprimant la variable d'environnement ou en lui affectant la valeur 1 (un).

Pour consigner les erreurs dans un fichier journal, créez une variable d'environnement appelée VSTO_LOGALERTS et affectez-lui la valeur 1 (un). Le runtime Visual Studio Tools pour Office crée le fichier journal dans le dossier qui contient le manifeste de déploiement du complément VSTO, ou dans le dossier qui contient le document ou le classeur associé à la personnalisation. En cas d’échec, le runtime Visual Studio Tools pour Office crée le fichier journal dans le dossier %TEMP% local. Pour les compléments VSTO de niveau application, le nom par défaut est Nom_complément.vsto.log. Pour les projets de niveau document, le nom du fichier journal est Nom_document.extension.log ; par exemple, ExcelWorkbook1.xlsx.log. Pour arrêter la journalisation des erreurs, supprimez la variable d'environnement ou affectez-lui la valeur 0 (zéro).