mercredi 11 mars 2009

Visual Studio + Attach to process + Compact Framework = ...

Pour ce premier billet, juste une petite astuce ...

Dans Visual Studio 2005 (2008), nous avons la possibilité d'attacher dynamiquement (à chaud) une application IL (.NET) qui s'exécute au code source afin de l'exécuter en pas à pas.
En général, c'est ce que l'on fait pour débugger des service Windows, des services WCF ou des WebServices.

L'autre jour, j'ai été confronté à la nécessité de faire cela mais avec une application Windows CE (mobile) en Compact Framework...
Et là c'est le drame, car par défaut, Windows CE ne permet pas cette fonctionnalité !

Voici le résumé des opérations à faire pour permettre d'attacher dynamiquement une application en cours d'exécution sous Windows CE avec son code source en VS.NET.

1. Modification du registre du périphérique mobile
A VOS RISQUES ET PÉRILS !
  1. Parmis les outils livrés avec Microsoft Visual Studio, se trouve le "Remote Registry Editor"
    (Menu démarrer, Tous les programmes, Visual Studio 2005, Visual Studio Remote Tools
    Démarrez le...
  2. Sélectionnez le périphérique à connecter, et validez
    (Si l'écran de sélection n'est pas ouvert : cliquez sur Target, Connect)
  3. Ouvrez :
    "HKEY_LOCAL_MACHINE" \ "SOFTWARE" \ "Microsoft" \ ".NETCompactFramework"
  4. Dans cette clé, ouvrez "Managed Debugger"
    • Si ce dernier n'existe pas, créez le !
      Bouton droit de la souris sur ".NETCompactFramework", Nouvelle clé,
      Saisissez "Managed Debugger" (attention à la casse), et validez,
  5. Dans "Managed Debugger", Modifiez la valeur DWORD "AttachEnabled" à 1,
    • Si la valeur n'existe pas, créez là !
      Bouton droit de la souris sur "Managed Debugger", Nouvelle valeur DWORD,
      Saisissez "AttachEnabled" pour le nom, et 1 pour la valeur,
2. Attach to process !
Dans Visual Studio, ouvrez le menu Déboguez, Attachez au processus,
Choisissez "Transport : SmartDevice",
et choississez le périphérique dans "Qualificateur",

Choisissez le process, et Validez !

Pour désactiver la fonctionnalité, il suffit de saisir 0 comme valeur pour "AttachEnabled".

Par défaut cette fonctionnalité est désactivée, pour une question de performance.

@+

Accessible aussi à ce lien :
http://www.codes-sources.com/tutoriaux/VISUAL-STUDIO-COMPACT-FRAMEWORK-ATTACH-TO-PROCESS_951.aspx

Aucun commentaire:

Enregistrer un commentaire