Debug


Skype et CPU élevé

2013-07-30 3 Min. lecture Debug

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.

process explorer

Dans l’onglet “Threads”, on voit qu’un seul thread (TID = 8556) consomme la quasi totalité du CPU utilisé par Skype.

image

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).

continuer la lecture

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

2013-05-31 6 Min. lecture Debug

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.

Single word

continuer la lecture

Webcasts sur le debugging

2013-01-03 2 Min. lecture Debug

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é.

continuer la lecture

Rendre les adresses mémoire cliquables dans WindDBG

2012-12-26 1 Min. lecture Debug

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 :

WinDBG

En tapant la commande :

0:000> .prefer_dml 1

on active les liens pour certaines commandes

continuer la lecture

WinDBG : charger les bonnes extensions

2012-07-13 2 Min. lecture .NET Debug

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 .NET qui se trouve dans le répertoire : C:\Windows\Microsoft.NET\Framework\

continuer la lecture