À quoi servent les points de trace?

Ils ne peuvent être placés que sur les noms de méthodes. Comment sont-ils utilisés et à quoi servent-ils?

entrez la description de l'image ici

L’équipe du débogueur a publié un bon article sur ce sujet avec des exemples: http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/10/tracepoints.aspx

Les points de trace ne sont pas du tout une nouvelle fonctionnalité (ils sont dans Visual Studio depuis VS 2005). Et ce ne sont pas des points d’arrêt en tant que tels, car ils ne causent pas d’interruption de l’exécution du programme. Cela peut être utile lorsque vous devez inspecter quelque chose, mais pas arrêter le programme car cela provoque le comportement d’un bug qui ne se reproduit pas, etc.

Les points de trace sont une tentative de surmonter le cas où vous ne pouvez pas arrêter le programme pour inspecter quelque chose car cela entraînera un comportement non reproductif, en permettant à un point d’arrêt de consigner les informations dans la fenêtre de sortie du débogage et de continuer, sans interruption sur l’interface utilisateur. Vous pouvez également le faire avec des macros, mais cela peut prendre plus de temps.

Pour définir un sharepoint trace, commencez par définir un point d’arrêt dans le code. Ensuite, utilisez le menu contextuel sur le point d’arrêt et sélectionnez l’élément de menu «When Hit …». Vous pouvez maintenant append des instructions de journal pour le point d’arrêt et désactiver l’action Stop par défaut afin de vous connecter et de partir. Il existe une foule d’autres informations que vous pouvez append à la chaîne de journal, y compris des informations statiques sur l’emplacement du bp, telles que le fichier, la ligne, la fonction et l’adresse. Vous pouvez également append des informations dynamics telles que des expressions, la fonction appelante ou callstack. Des éléments tels que l’ajout d’informations sur les fils et les processus peuvent vous aider à localiser des bogues de temporisation lorsqu’il s’agit de traiter plusieurs fils et / ou processus.

Selon MSDN:

Les points de trace sont une nouvelle fonctionnalité de débogage dans Visual Studio. Un sharepoint trace est un point d’arrêt associé à une action personnalisée. Lorsqu’un sharepoint trace est atteint, le débogueur exécute l’action de sharepoint trace spécifiée au lieu, ou en plus, d’interrompre l’exécution du programme.

Cas d’utilisation où cela peut s’avérer très utile pour le débogage:

Il peut arriver que vous souhaitiez déboguer une fonction appelée de nombreuses fois (par exemple, des centaines) et que vous souhaitiez simplement voir la tendance dans laquelle une variable locale est en train de changer. Cela est possible en plaçant un point d’arrêt, mais pensez à vous arrêter (tout en effectuant le débogage) à cette fonction des centaines de fois et à prendre la peine de noter les valeurs dans le bloc-notes. Faire ceci est si facile en utilisant tracepoint, cela place directement les journaux dans la fenêtre ” Sortie “, qui peut être facilement analysée ou même effacée. Économiser des heures d’effort manuel et de patience.

Exemple de journal dans la fenêtre de sortie (peut contenir des centaines de lignes):

keyframeNo = 2, time = 1100 keyframeNo = 1, time = 0 keyframeNo = 1, time = 1 keyframeNo = 1, time = 1 keyframeNo = 1, curTime =22 curTime=1132835, keyframeno=15 keyframeNo = 2, time = 1 keyframeNo = 2, time = 1 

Comment l’utiliser:

cliquez avec le bouton droit de la souris sur code> Point d’arrêt> Insérer TracePoint

Avantage d’utiliser TracePoint:

  • Il n’est pas nécessaire d’append du code pour générer des journaux. Donc, pas de tension pour construire le code, pas plus de nettoyage du code.
  • Cela ne gêne pas le stream de code en cours d’exécution, contrairement aux points d’arrêt.
  • Il peut aussi afficher la valeur des variables locales. Entrez {variable_local} après avoir cliqué sur ” When Hit
  • Vous pouvez également insérer des points de trace à l’état de débogage, comme vous pouvez le faire pour un point d’arrêt.