Share via


Procedura: connettersi a processi di dispositivi gestiti

Aggiornamento: novembre 2007

La connessione a un processo in un dispositivo è molto simile a quella in un computer desktop, ad eccezione del fatto che nel dispositivo è necessario impostare una chiave del Registro di sistema per consentire il debug gestito se il processo è già in esecuzione senza il debugger. L'impostazione di questa chiave viene mantenuta fino a quando non viene modificata o, nel caso di un emulatore, fino a quando l'emulatore non viene chiuso senza salvarne le impostazioni.

Nota:

L'impostazione della chiave di debug per il dispositivo riduce le prestazioni. Quando non si esegue il debug, azzerare la chiave.

Se si cerca di connettere due debugger o di connettersi a un debugger gestito senza avere impostato la chiave del Registro di sistema del dispositivo, potrebbe venire visualizzato un messaggio di errore.

Un processo può essere avviato in molti modi, ad esempio da Esplora file, da un prompt dei comandi e così via. Nel passaggio seguente il processo viene avviato dal menu Debug. È possibile avviare un processo anche senza il debugger gestito e connetterlo successivamente.

Se la piattaforma di destinazione è una piattaforma Windows CE generata da Gestione piattaforme, è necessario disporre della libreria toolhelp.dll per popolare il riquadro Processi disponibili. Questa libreria è inclusa nei kit SDK di Windows Mobile.

Nota:

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Debug di un processo gestito

Per eseguire il debug di un processo gestito

  • Scegliere Avvia dal menu Debug.

    Nota:

    Se ci si disconnette dai processi avviati dal menu Debug, non è possibile riconnettersi senza eseguire le operazioni descritte di seguito dopo che un processo è in esecuzione. In altre parole, è necessario impostare la chiave del Registro di sistema sul dispositivo.

Connessione a un processo gestito già in esecuzione

Se si prevede di connettersi a un processo che è già in esecuzione, ad esempio scegliendo Avvia senza eseguire debug, quindi connettendosi a un processo gestito in esecuzione, è necessario innanzitutto impostare la chiave del Registro di sistema del dispositivo prima che il processo venga avviato e prima di cercare di connettersi utilizzando la finestra di dialogo Connetti a processo. Di seguito sono riportati i passaggi dettagliati del processo.

Per impostare la chiave del Registro di sistema del dispositivo per consentire la connessione a un processo in esecuzione

  1. Scegliere Tutti i programmi dal menu Start di Windows, scegliere Microsoft Visual Studio 2008, Strumenti di Visual Studio, quindi Remote Registry Editor.

  2. Connettersi al dispositivo utilizzando Remote Registry Editor.

  3. Passare a o creare la chiave seguente: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\Managed Debugger

  4. Impostare o creare un valore DWORD denominato AttachEnabled.

  5. Impostare su 1 i dati per il valore.

    Nota:

    L'impostazione della chiave di debug per il dispositivo riduce significativamente le prestazioni. Quando non si sta eseguendo il debug, disattivare la connessione gestita azzerando il valore dei dati o eliminando il valore AttachEnabled.

  6. Chiusura di Remote Registry Editor.

    Dopo aver attivato la connessione gestita, è possibile avviare un processo senza il debugger e quindi connettersi al processo utilizzando la finestra di dialogo Connetti a processo.

Per connettersi a un processo gestito dopo che il processo è stato avviato

  1. Dopo avere impostato la chiave del Registro di sistema come descritto in precedenza, avviare un processo senza il debugger.

  2. Scegliere Connetti a processo dal menu Strumenti.

  3. Nella casella Trasporto scegliere Smart Device.

  4. Nella casella Qualificatore scegliere Sfoglia.

    Nota:

    Nella casella Qualificatore sono già inseriti i dispositivi di uso più recente nella sessione corrente.

  5. Nella finestra di dialogo Connetti a dispositivo selezionare la piattaforma, selezionare il dispositivo, quindi fare clic su Connetti.

  6. Nel riquadro Processi disponibili selezionare uno o più processi cui connettersi, quindi scegliere Connetti.

    Nota:

    Per impostazione predefinita, il tipo di codice è impostato automaticamente su Gestito (.NET Compact Framework) se disponibile, in caso contrario su Nativo (Smart Device). Per eseguire l'override delle impostazioni predefinite, scegliere Seleziona per aprire la finestra di dialogo Seleziona tipo di codice. Non è possibile selezionare entrambi i tipi.

    Nota:

    Il debug di interoperabilità non è supportato. Pertanto non è possibile eseguire contemporaneamente il debug di codice sia gestito che nativo.

Disconnessione o terminazione di un processo

Per disconnettersi da un processo o terminarlo

  1. Scegliere Windows dal menu Debug, quindi scegliere Processi.

  2. Nella finestra Processi fare clic con il pulsante destro del mouse sul processo da cui ci si desidera disconnettere o da terminare.

  3. Scegliere Termina processo o Disconnetti processo dal menu di scelta rapida.

    Nota:

    Dallo stesso menu di scelta rapida è possibile riaprire la finestra di dialogo Connetti a processo.

Compilazione del riquadro Processi disponibili

Per popolare il riquadro Processi disponibili nei progetti Windows CE

  • Includere il file toolhelp.dll nell'immagine del sistema operativo Windows CE.

    —oppure—

    Copiare manualmente il file toolhelp.dll nel dispositivo di destinazione.

Vedere anche

Attività

Procedura dettagliata: debug di una soluzione che include sia codice gestito che nativo

Concetti

Generazione e debug dei progetti per dispositivi di Visual C++

Altre risorse

Debug di progetti per dispositivi