Skype et CPU élevé

Depuis quelques temps, j’ai remarqué que mon Skype consommait beaucoup de CPU alors qu’il était simplement démarré et connecté à mon compte. On peut le voir sur le screenshot de Process Explorer ci-dessous. Dans l’onglet “Threads”, on voit qu’un seul thread (TID = 8556) consomme la quasi totalité du CPU utilisé par Skype. Après avoir pris plusieurs dumps avec ProcDump (Skype semble ne pas trop aimer être breaké par WinDbg, il lance un nombre incalculable d’access violation lors de la libération du processus). [Voir plus]
CPU  Debug  Skype  WinDBG 

Afficher les chaînes de caractères situées dans un processus ou un dump

Récupérer la liste des chaînes de caractères (string) présentes dans la mémoire utilisée par un exécutable peut être intéressant (Mise en place d’interning par exemple). Cet article montre plusieurs manières de récupérer ces chaînes de caractères directement dans un processus live ou un dump. Dans les exemples ci-dessous, l’application console (.NET) récupère un mot situé sur une page web. Le but est de retrouver ce mot en mémoire. Process Explorer Avec un processus live, Process Explorer donne accès aux chaînes de caractères que ce soit en mémoire ou à l’intérieur du binaire. [Voir plus]

Webcasts sur le debugging

Show très intéressant sur le debugging animé par Larry Larsen, Chad Beeder et Andrew Richards composé de webcasts d’une trentaine de minutes qui paraissent toutes les semaines. Les animateurs présentent les outils de la suites SysInternals, expliquent comment utiliser WinDBG pour debugger les applications .NET et natives, analyser des dumps de BSOD, etc… La plupart des concepts sont expliqués assez clairement même si certains épisodes (notamment sur les drivers) ont un niveau technique assez élevé. [Voir plus]

WinDBG : charger les bonnes extensions

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 . [Voir plus]
.NET  Debug  WinDBG 

Utiliser le débugger de Visual Studio côté client dans des classes partielles créées sur un proxy WCF

Dans le cadre d’une application utilisant un service WCF, il n’est pas rare de créer des classes partielles (partial class) côté client pour rajouter des propriétés aux objets envoyés par le service. Ces propriétés sont liées à l’application cliente (pour l’interface par exemple) et n’ont aucune raison d’être présentes côté service. Par exemple une classe Produit avec les propriétés Prix, Nom, Stock définies côté service peut avoir une propriété IsVisible côté client permettant d’afficher ou non le produit sur l’interface graphique. [Voir plus]