Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

CoqBlog

.NET is good :-)
{ Blog de coq }

Actualités

Point d'arrêt spécifique à une instance : Make Object ID peut vous aider

En parcourant la liste des tips que John Robbins dissémine dans ses articles Bugslayer pour MSDN Magazine, je suis tombé sur l'astuce numéro 79, issue de l'article Wait Chain Traversal du numéro de juillet 2007 (celui là, je ne l'ai sans doute pas lu jusqu'au bout) :

"Tip 79 Gregg Miskelly came up with a brilliant debugging trick on his blog. In managed code, you don’t have the address of an object, so setting a per instance breakpoint is almost impossible. However, Gregg points out that if you do the cool Make Object Id trick on the instance, you can set a per instance breakpoint by setting a conditional breakpoint to this == 1#. That’s one I could have used a million times over!"

Quand on a besoin d'avoir un breakpoint pour une/des instance(s) spécifique(s), on peut éventuellement utiliser une propriété (ou champs) possédant une valeur unique et immuable.
Mais quand ce type d'information n'est pas disponible sur le type ciblé (ou que l'invocation d'une telle propriété entrainerait des changements d'état polluant le debugage), on ne peut pas le faire.
C'est là qu'intervient l'idée d'utiliser l'Object ID (voir présentation par Cyril ou John) et de l'utiliser en tant qu'expression évaluée pour le point d'arrêt conditionnel : "this == 1#"

L'inconvénient est que ces Object ID ne survivent pas d'une exécution à l'autre du programme débuggé, mais ce n'est guère différent de l'utilisation d'une valeur unique de l'instance si cette valeur n'est pas stable entre 2 exécutions.

Mais pourquoi je n'y pense pas quand j'en ai besoin ?!

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: dimanche 20 septembre 2009 14:45 par coq
Classé sous : , ,

Commentaires

FREMYCOMPANY a dit :

Ben ça alors, j'y aurais jamais pensé... Super astuce, vraiment. Comme quoi, même en connaissant une chose et l'autre, on ne trouve pas le lien qui pourrait les unir et nous faciliter la vie. Ca me fait penser à mes profs d'unif qui n'arrêtent pas nous parler de "cloisonement des connaissances". Faut croire que ça existe pour de vrai Wink.

# septembre 20, 2009 16:46
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01