Mettre un point d'arrêt dans une DLL sur Visual Studio 2010

N’ayant pas accès au code des DLL du framework .NET, il peut être intéressant de mettre un point d’arrêt à l’intérieur de ces DLL afin de savoir quand les methodes contenues dans la DLL sont appelées.

L’objectif de cet article est de “breaker” lorsque l’on appelle la propriété Count et la méthode Clear() d’une liste (List<T>).

  • Première étape, désactiver l’option “Enable Just My Code (managed only)” dans les options de debug. Pour y arriver, rendez-vous dans Debug -> Options and Settings -> Enable Just my Code (managed only), puis décochez la case.
  • Deuxième étape, afficher la fenêtre “Breakpoints” dans Visual Studio 2010 : raccourci Ctrl+D+B.

Breakpoints

  • Cliquez ensuite sur “New” puis “Break at Function”.
  • Dans la fenêtre de création, renseignez le chemin vers la méthode que vous souhaitez “breaker”

Function breakpoint Pour la propriété Count, indiquez : System.Collections.Generic.List.Count qui sera automatiquement remplacé par System.Collections.Generic.List.get_Count.

Désormais, chaque fois que cette méthode et le getter de cette propriété seront appelés, Visual Studio “breakera” dessus et nous indiquera la callstack afin de retrouver d’où vient l’appel.

Callstack


Voir également