Skip to main content

Windows – Le Saviez vous ?

Il existe un très grand nombre d’astuces dans Windows 7, les connaissez-vous ?


Outil : PSR.exe

Développeurs, connaissez-vous l’outil Windows 7 PSR.exe l’enregistreur d’actions utilisateur ?

01

Non ?
Imaginons que l’un de l’utilisateur de votre application, ne soit pas en mesure de vous expliquer clairement le problème qu’il rencontre. Il suffit alors de lui demander de lancer sur la ligne de commande l’outil PSR.EXE et d’enregistrer les actions, d’ajouter des commentaires. Puis de vous fournir le fichier résultant pour analyse.
Ce fichier contient toutes les actions utilisateurs sous forme d’images et de commentaires.

En voici un extrait.

Actions utilisateur enregistrées

Ce fichier contient toutes les étapes et les informations enregistrées pour vous aider à décrire les problèmes à d’autres.
Avant de partager de fichier, vous devez vérifier les points suivants :

  • Les étapes ci-dessous décrivent correctement le problème.
  • Les informations ci-dessous ou les captures d’écran ne contiennent aucune donnée que vous voulez cacher aux autres utilisateurs.

Les mots de passe ou le texte que vous avez tapés n’ont pas été enregistrés, à l’exception des touches de fonction et de raccourci que vous avez utilisées.
Vous pouvez effectuer les opérations suivantes :

  • Revoir les actions utilisateur enregistrées
  • Revoir les actions utilisateur enregistrées dans un diaporama
  • Revoir les détails supplémentaires

Actions utilisateur

Action utilisateur 1: (22/09/2010 19:20:55) Clic avec le bouton gauche par l’utilisateur sur « Démarrer (bouton poussoir) » dans « Démarrer »

02

Action utilisateur 2: (22/09/2010 19:20:56) Saisie au clavier par l’utilisateur dans « Menu Démarrer » [... ENTREE]

03

Action utilisateur 3: (22/09/2010 19:21:00) Clic avec le bouton gauche par l’utilisateur dans « Microsoft Excel - Classeur1 »

Haut de page


Outil : powercfg.exe

Développeurs, connaissez-vous l’outil Windows 7 powercfg.exe l’outil indispensable pour être un Green Développeur ?

A l’heure ou tout doit être green, le développeur aussi à un rôle à jouer dans ce domaine. powercfg /energy vous permettra d’obtenir un rapport d’éfficacité energétique sur votre système et donc également sur votre application.

04

En voici un extrait.

05

Haut de page


Outil : Boot sur VHD

Développeurs, saviez-vous qu’il était possible de booter un pc sur une machine Virtuelle Windows 7 ou Windows 2008 R2 ?

Non !!, je ne peux alors que vous encourager à visiter le blog de Fabrice Meillon sur la manière de créer une machine virtuelle Windows 7 et la manière de booter directement dessus.
http://blogs.technet.com/b/fabricem_blogs/archive/2009/09/16/comment-installer-windows-7-en-boot-vhd-sur-une-machine-neuve-boot-vhd-natif.aspx

Vous me direz mais à quoi cela peut servir ?
Par exemple, imaginons, que vous souhaitiez installer une version béta d’un produit, mais que vous ne souhaitiez pas polluer votre installation de Windows 7. Il est alors possible de créer une machine virtuelle différentielle à partir d’une autre machine Virtuelle (qui ne sera jamais altérée) sur laquelle vous allez installer toutes les betas de produits que vous souhaitez. Si jamais le système devient instable, peu importe, puisque seule le différentiel sera altéré.

Haut de page


Outil : MSDT.EXE

Développeurs, saviez-vous que Windows 7 propose une plate-forme de résolution automatique de problèmes ?

Non, alors rendez-vous dans le panneau de configuration résolution de problèmes.
Et saviez-vous que vous pouviez développer vos propres assistants de dépannage ?

Non, alors rendez-vous à l’adresse http://msdn.microsoft.com/fr-fr/windows/ff720166.aspx pour en savoir plus.

Haut de page


Outil : Windows PowerShell

Développeurs, connaissez-vous l’outil Windows PowerShell ?

06

Non ?

Remplaçant à terme de notre bon vieil interpréteur de commande DOS, il permet de tout faire.

En effet, fournit avec un monceau de commandes pour les Administrateurs ainsi qu’un langage de script, il est lui-même extensible, car basé sur le Framework .NET. Vous pouvez donc à tout moment développer vos propres extensions (CmdLet) en C# ou en VB.Net ou tous autres langages .NET bien sûr. Pour en savoir plus : Introduction au développement PowerShell partie I

Haut de page


Outil : resmon.exe

Développeur Connaissez-vous l’outil Windows 7 resmon.exe le moniteur de ressources ?

Non, et pourtant !!

Il vous permettra en un clin d’oeil d’avoir accès aux taux d’occupation des processeurs, de la mémoire, des disques et du réseau. Outil pratique, pour surveiller l’activité de son application.

07

Exemple d’utilisation des ressources Mémoire :

08

Haut de page


Outil : UserAccountControlSettings.exe

Développeurs, connaissez-vous l’outil Windows 7 UserAccountControlSettings.exe qui permet de configurer de manière fine le contrôle de compte d’utilisateur ?

Depuis Windows Vista, le contrôle de compte d’utilisateur, permet d’éviter que les programmes suspects modifient votre ordinateur.

Néanmoins, il était assez intrusif et non personnalisable. Il était actif ou pas !!.

Avec Windows 7, Microsoft va plus loin, car il désormais possible de le personnaliser à sa convenance.

09

Pour l’activer, il suffit d’aller dans le panneau de configuration, dans la boite de recherche de taper « Contrôle de compte » comme illustré sur la figure suivante :

10

Haut de page


Outil : robocopy.exe

Développeurs, saviez-vous qu’avec Windows 7, était disponible désormais en standard le célèbre robocopy ?

Pour ceux qui ne le connaîtraient pas, comme son nom l’indique, robocopy est un outil de type console qui permet de faire de la copie de fichier au même titre que les utilitaires copy et xcopy.
Mais à la différence de ces deux derniers, robocopy est fourni avec beaucoup plus d’options qui le rendent plus robuste et performant.
En effet une des caractéristiques de robocopy, est de faire une copie de fichier que si la source à changée.

Exemple de copie de fichiers.

11

Dans cet exemple, nous copions les fichiers du répertoire c:\source vers f:\destination, en ne voulant que les sous répertoires non vide (/S) en mode redémarrage (/Z) avec un nombre de tentatives de copies à 10 (/r:10) et un délai de 20 secondes entre chaque tentative (/w:20).

Avec plus de 60 options pour la copie, c’est un outil parfait pour faire une sauvegarde rapide et robuste sur des disques externes.

Pour obtenir de l’aide, sur la ligne de commande tapez l’instruction Robocopy /?

Haut de page


Outil : ProcessExplorer.exe

Développeurs, si vous ne connaissez pas ProcessExplorer.exe, c’est un outil qui DOIT faire partie de votre caisse à outils.

L’une de ces nombreuses fonctionnalités est de pouvoir suivre en temps réel pour un processus donné les DLLs qui ont été chargées, de rechercher par exemple tous les processus qui ont chargés une DLL particulière.
De suivre en temps réelle la consommation ressources de votre système. Le plus, c’est qu’il peut remplacer (avantageusement) le bon vieux Gestionnaire des tâches de Windows.

12

13

Disponible à cette à adresse, http://www.microsoft.com/france/technet/sysinternals/ProcessesAndThreads/ProcessExplorer.mspx, ProcessExplorer développé par les célèbres Mark E Russinovich et David Solomon fait partie d’une suite d’outils que vous pouvez télécharger à partir de cette adresse http://technet.microsoft.com/fr-fr/sysinternals/default.aspx

Haut de page


Outil : DebugDiag

Développeurs, vous souhaitez détecter facilement les fuites mémoires de votre application et plus encore ?
DebugDiag est l’outil indispensable pour accomplir simplement cette tâche.

Une fois lancée vous choisissez un type de règle.

14

Puis le processus à analyser.

15

Une fois que vous avez terminé l’utilisation de l’application, vous lancez l’analyse du fichier dump généré.

16

Un rapport d’analyse détaillé est alors crée. Ensuite à vous de jouer.

17

18

Pour télécharger l’outil, rendez-vous à cette adresse http://www.microsoft.com/downloads/en/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

Haut de page


Outil : Network Monitor

Développeurs connaissez-vous l'outil Network Monitor ?
C’est un analyseur de protocoles qui vous permettra de tracer tout le trafic réseau qui part ou qui arrive sur vos différents adaptateurs réseaux.

Ici par exemple, je n’ai choisi que l’adaptateur Ethernet, pour limiter les informations capturées.

19

Ensuite il suffit de démarrer une nouvelle capture.

20

Mais attention, Network Monitor, va tout capturer et tout vous afficher !!

21

Si vous ne souhaitez ne filtrer que les informations utiles pour vous, par exemple les frames propres au protocole TCP, il suffit dans la fenêtre Display Filter, de taper la chaîne protocol.TCP

22

Il est ensuite possible d’affiner la recherche, à des protocoles de plus haut niveau comme le protocole HTTP puis ensuite le protocole SOAP par exemple, si vous souhaitez déboguer votre application qui se connecte à des services Web.

Enfin, vous pouvez ne filtrer que les informations propres à votre application en appliquant le filtre contains(ProcessName,"ClientWindows.Exe")

23

Cet outil extrêmement puissant pour analyser les problèmes réseau que vous pouvez rencontrer, est également extensible, car vous pouvez développer vos propres parsers dans le langage Network Monitor Parsing Language (NPL).

Pour télécharger l’outil : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f&displaylang=en

Haut de page


Outil : Network Monitor

Développeurs connaissez-vous l’outil UMDH ? Cet outil vous permettra de tracer de manière très précise, les fuites mémoires de votre application.
Comment ça marche ?
Tout d’abord, vous devez créer une "User Stack Trace Database" à l’aide de l’outil GFLAGS
GFLAGS –i <image> +ust
GFLAGS –i <image> -tracedb 50

<Image> dans ce contexte, est le nom de votre application

Ensuite vous allez prendre une " 1er photo" à un instant T1 de la mémoire consommée par votre application.
UMDH –p :<PID> -f:LogFile1.log
Puis une seconde photo après utilisation de votre application
UMDH –p :<PID> -f:LogFile2.log

Et ensuite vous comparez les deux fichiers de log.
UMDH logfile1.log logfile2.log > comparaison.txt

Le fichier comparaison.txt contiendra les informations de fuite mémoire.

Exemple de fichier de comparaison :
Exemple de fichier de comparaison :
//
// Each log entry has the following syntax:
//
// + BYTES_DELTA (NEW_BYTES - OLD_BYTES) NEW_COUNT allocs BackTrace TRACEID
// + COUNT_DELTA (NEW_COUNT - OLD_COUNT) BackTrace TRACEID allocations
// ... stack trace ...
//
// where:
//
// BYTES_DELTA - increase in bytes between before and after log
// NEW_BYTES - bytes in after log
// OLD_BYTES - bytes in before log
// COUNT_DELTA - increase in allocations between before and after log
// NEW_COUNT - number of allocations in after log
// OLD_COUNT - number of allocations in before log
// TRACEID - decimal index of the stack trace in the trace database
// (can be used to search for allocation instances in the original
// UMDH logs).
//


+ 20 ( 20 - 0) 1 allocs BackTraceCC360
+ 1 ( 1 - 0) BackTraceCC360 allocations

ntdll!MD5Final+0000B3DD
KERNELBASE!LocalAlloc+00000075
SspiCli!CredMarshalTargetInfo+00000B42
SspiCli!CredMarshalTargetInfo+000009D2
SspiCli!CredMarshalTargetInfo+000005EA
SspiCli!CredMarshalTargetInfo+00000594
ntdll!RtlCreateProcessParametersEx+00000B58
ntdll!RtlResetRtlTranslations+000019A8
ntdll!RtlResetRtlTranslations+00000C63
ntdll!LdrInitializeThunk+0000000E

+ 20 ( 20 - 0) 1 allocs BackTrace3725160
+ 1 ( 1 - 0) BackTrace3725160 allocations

Pour en savoir plus sur l’utilisation d’umdh, suivez le guide. http://support.microsoft.com/kb/268343

Cet outil fait partie de la suite d’outils de débogage que vous pouvez télécharger à partir de cette adresse http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx

Haut de page