fr en

Rendre les adresses mémoire cliquables dans WindDBG

2012-12-26 1 Min. lecture Debug Aymeric
Petite astuce donnée dans l’émission DefragTools rendant l’utilisation de WinDBG un peu plus “clicky clicky” avec la version de SOS pour .NET 4. Par défaut, lorsqu’on affiche les objets de la stack .NET avec !dso par exemple, les adresses mémoire pointant vers les objets ne sont pas cliquables et il est necessaire de faire un : 0:000> !DumpObj xxxxxxxx pour accéder au contenu de l’objet : En tapant la commande : continuer la lecture

[.NET] Linq et type dynamique, attention au piège en .NET

2012-12-18 4 Min. lecture .NET Aymeric
Problème Le code suivant affiche « Numbers greater than 3 are : 6 7 » au lieu du « Numbers greater than 3 are : 4 5 6 7 » attendu. Savez-vous pourquoi ? class Program { static void Main(string[] args) { List<Int32> allNumbers = new List<Int32>() { 1, 2, 3, 4, 5, 6, 7 }; List<dynamic> greaterNumbers = new List<dynamic>(); // Finding all numbers from the "allNumbers" list that are greater // than "currentNumber" for (Int32 currentNumber = 0; currentNumber < 5; currentNumber++) { dynamic item = new ExpandoObject(); item. continuer la lecture

WinDBG : charger les bonnes extensions

2012-07-13 2 Min. lecture .NET Debug Aymeric
Pour débugguer vos applications .NET, Microsoft propose un outil nommé WinDBG disponible dans le “Windows SDK”. WinDBG étant un debugueur natif, il a besoin d’extensions pour fonctionner avec les applications .NET. Ces extensions sont différentes en fonction de la technologie et de la version de .NET que votre application utilise (Silverlight / WPF / .NET 2.0 / .NET 4, etc.). SOS SOS.dll (Son Of Strike) est une DLL fournie lors de l’installation du framework . continuer la lecture

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

2011-11-14 1 Min. lecture .NET Visual Studio 2010 Aymeric
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. continuer la lecture

Fichiers de styles et erreur "Cannot find a Resource with the Name/Key xxxx" en Silverlight

2011-06-07 2 Min. lecture .NET Silverlight Aymeric
Lorsque votre application grossit (son style aussi), il est intéressant de séparer vos styles dans différents fichiers pour gagner en clareté. Il vous suffit ainsi de déclarer vos fichiers dans le fichier App.xaml comme ceci : <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Color.xaml" /> <ResourceDictionary Source="Control.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> Ceci ne fonctionne que si le fichier Control.xaml n’utilise pas de ressources déclarées dans Color.xaml et inversement. Contrairement à WPF qui tient compte de l’ordre de déclaration (Color. continuer la lecture

Utiliser la molette de la souris en Silverlight avec le Windowless activé sous Firefox et Chrome

2011-05-24 4 Min. lecture .NET Silverlight Aymeric
En Silverlight, la molette de la souris fonctionne très bien sous tous les principaux navigateurs (Internet Explorer, Firefox, Chrome, etc.) lorsque le Windowless n’est pas activé. Lorsque ce dernier est activé, la tâche se complique puisque les navigateurs qui se basent sur NAPI (Firefox et Chrome) ne permettent plus à Silverlight de gérer la molette de la souris. Cet article permet grâce au DOM de récupérer l’événement lié à la molette auprès du navigateur. continuer la lecture

Créer des snippets pour augmenter votre productivité sur Visual Studio 2010

2011-05-04 3 Min. lecture .NET C# Visual Studio 2010 Aymeric
Visual Studio 2010 utilise comme beaucoup d’IDE, un système de snippet permettant d’augmenter la vitesse de frappe du code. Utilisation d’une snippet Par exemple, si vous entrez propf puis tapez 2 fois sur la touche TAB du clavier, l’IDE va générer pour vous une propriété privée ainsi qu’un get, set : Les zones oranges sont les zones éditables lors de la création. Il est possible de passer d’un de ces champs à un autre en pressant la touche TAB du clavier. continuer la lecture

Comment débugger vos bindings en Silverlight 5

2011-04-17 2 Min. lecture .NET Silverlight Aymeric
La version béta de Silverlight 5 béta est sortie cette semaine au MIX de Las Vegas. Une des nouveautés apportée par cette version est la possibilité de mettre des points d’arrêts (breakpoint) dans le XAML afin de débugger les bindings. Qui n’a jamais perdu de temps à chercher pourquoi un binding ne fonctionnait pas correctement dans son application Silverlight ? Pour illustrer cette article nous allons utiliser le code suivant (disponible en téléchargement à la fin de l’article) : continuer la lecture

Parcours d'une liste (List<T>) et performances en Silverlight

2011-03-03 1 Min. lecture .NET Silverlight Windows Phone 7 Aymeric
Dans le cadre du développement d’un contrôle Silverlight devant faire un grand nombre de parcours sur une liste (List), je me suis posé la question des performances. Que faut-il utiliser ? foreach, for, while ou ForEach contenu dans System.Linq ? Mes tests se sont portés sur une application Silverlight classique ainsi que sur Windows Phone 7 (tests sur un vrai device). Le test consiste à parcourir une liste d’objets de type Test (la classe Test contenant une propriété Id de type int et une propriété Name de type string). continuer la lecture

Session sur l'optimisation des performances Windows Phone 7

2011-02-12 3 Min. lecture .NET Silverlight Windows Phone 7 Aymeric
Voici mes notes sur la session de Luc Vo Van (Microsoft) et Simon Ferquel (Access IT) sur la performance et l’optimisation des applications Windows Phone 7 donnée aux techdays 2011. En attendant d’avoir la présentation Powerpoint ainsi que le webcast, voici ce que j’ai retenu de cette conférence très intéressante. Les différents threads Une application Windows Phone 7 dispose de 2 threads : le thread UI (CPU) qui s’occupe du code créé par l’utilisateur, des événements, des converters, etc… le thread de composition (GPU) qui s’occupe lui des animations simples, du clipping rectangulaire, de l’opacité, des render transform et perspective transform. continuer la lecture
Articles plus anciens