[VS 2010] Mettre un point d’arrêt dans une DLL
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.
- 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 »
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.




Je n’avais regardé dans cette fenêtre de Breakpoints, c’est effectivement bien pratique. je viens de voir qu’on peut exporter les Breakpoints
Donc si vous avez les source en local, vous pouvez exporter votre Breakpoints (clic droit dans la fenêtre de Breakpoints) pour ensuite l’importer sur un serveur de production qui n’aurait pas les sources par exemple.