Share via


Comment : créer des attachements à des processus smart device managés

Mise à jour : novembre 2007

Pour atacher un processus sur un appareil, vous devez procéder de la même façon que sur un environnement bureautique, excepté que vous devez définir une clé de Registre sur l'appareil pour activer le débogage managé si le processus s'exécute déjà sans le débogueur. Le paramètre de cette clé est persistant tant que vous ne le modifiez pas ou, dans le cas d'un émulateur, jusqu'à ce que l'émulateur soit fermé sans enregistrer ses paramètres.

Remarque :

La définition de la clé de débogage de l'appareil réduit les performances. Lorsque vous ne procédez pas à un débogage, réinitialisez la clé.

Un message d'erreur peut apparaître si vous essayez d'attacher deux débogueurs ou d'effectuer un attachement à un débogueur managé lorsque la clé de Registre de l'appareil n'a pas été définie.

Vous pouvez démarrer un processus de plusieurs façons, à l'aide de l'Explorateur de fichiers, de la ligne de commandes, etc. Dans l'étape suivante, vous démarrez le processus en le lançant à partir du menu Déboguer. Vous pouvez également démarrer un processus sans le débogueur managé, puis l'attacher ultérieurement.

Si vous ciblez une plateforme Windows CE générée dans Platform Builder, la bibliothèque toolhelp.dll doit être disponible pour remplir le volet Processus disponibles. Cette bibliothèque est incluse dans les Kits de développement Windows Mobile SDK.

Remarque :

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Déboguer un processus managé

Pour déboguer un processus managé

  • Dans le menu Déboguer, cliquez sur Démarrer.

    Remarque :

    Si vous quittez un processus démarré à partir du menu Déboguer, vous ne pouvez pas vous attacher de nouveau à ce processus sans exécuter les étapes suivantes de liaison après qu'un processus est exécuté. Ce qui signifie que la clé de Registre sur l'appareil doit être définie.

Créer un attachement à un processus managé en cours d'exécution

Si vous projetez d'effectuer un attachement à un processus qui s'exécute déjà, en cliquant par exemple sur Exécuter sans débogage, puis en réalisant l'attachement à un processus managé en cours, vous devez définir en premier la clé de Registre de l'appareil avant que le processus ne démarre et que vous ne vous connectiez à l'aide de la boîte de dialogue Attacher au processus. Les étapes suivantes détaillent le processus.

Pour définir la clé de Registre de l'appareil afin d'activer la liaison à un processus en cours

  1. Dans le menu Démarrer de Windows, pointez sur Tous les programmes, sur Microsoft Visual Studio 2008, sélectionnez Visual Studio Tools, puis cliquez sur Remote Registry Editor.

  2. À l'aide de Remote Registry Editor, connectez-vous à l'appareil.

  3. Naviguez jusqu'à la clé suivante ou créez-la : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\Managed Debugger

  4. Définissez ou créez une valeur DWORD nommée AttachEnabled.

  5. Définissez les données pour la valeur à 1.

    Remarque :

    La définition de la clé de débogage de l'appareil réduit les performances de manière significative. Lorsque vous ne procédez pas à un débogage, désactivez l'attachement managé en réinitialisant la valeur de la donnée à 0 ou en supprimant la valeur AttachEnabled.

  6. Fermez Remote Registry Editor.

    L'attachement managé est activé et vous pouvez démarrer un processus sans le débogueur, puis l'attacher au processus à l'aide de la boîte de dialogue Attacher au processus.

S'attacher à un processus managé après l'exécution du processus

  1. Après avoir défini la clé de Registre comme décrit dans les étapes précédentes, démarrez un processus sans le débogueur.

  2. Dans le menu Outils, sélectionnez Attacher au processus.

  3. Dans la zone Transport, cliquez sur Smart Device.

  4. Dans la zone Qualificateur, cliquez sur Parcourir.

    Remarque :

    La zone Qualificateur est pré-renseignée à l'aide des appareils les plus récemment utilisés dans la session actuelle.

  5. Dans la boîte de dialogue Se connecter à l'appareil, sélectionnez la plateforme, l'appareil, puis cliquez sur Se connecter.

  6. Dans le volet Processus disponibles, sélectionnez un ou plusieurs processus à attacher, puis cliquez sur Attacher.

    Remarque :

    Par défaut, le type de code a automatiquement la valeur Managé (.NET Compact Framework) si disponible, sinon Natif (Smart Device). Pour substituer les paramètres par défaut, cliquez sur Sélectionner pour ouvrir la boîte de dialogue Sélectionner le type de code. Notez que vous ne pouvez pas sélectionner les deux à la fois.

    Remarque :

    Le débogage d'interopérabilité n'est pas pris en charge. Cela signifie que vous ne pouvez pas déboguer à la fois des types de codes managés et natifs.

Quitter ou terminer un processus

Pour quitter ou terminer un processus

  1. Dans le menu Déboguer, pointez sur Fenêtres, puis cliquez sur Processus.

  2. Dans la fenêtre Processus, cliquez avec le bouton droit sur le processus que vous souhaitez quitter ou terminer.

  3. Dans le menu contextuel, cliquez sur Terminer le processus ou Détacher de ce processus.

    Remarque :

    Vous pouvez rouvrir la boîte de dialogue Attacher au processus dans ce menu contextuel.

Renseigner le volet Processus disponibles

Pour renseigner le volet Processus disponibles dans les projets Windows CE

  • Incluez le fichier toolhelp.dll dans l'image du système d'exploitation de Windows CE.

    - ou -

    Copiez manuellement le fichier toolhelp.dll dans l'appareil cible.

Voir aussi

Tâches

Procédure pas à pas : débogage d'une solution qui inclut du code managé et du code natif

Concepts

Génération et débogage des projets smart device Visual C++

Autres ressources

Débogage des projets Smart Device