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]

Rendre les adresses mémoire cliquables dans WindDBG

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 : [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