Procedura: eseguire la connessione a un processo in esecuzione

Aggiornamento: novembre 2007

Le informazioni contenute in questo argomento sono valide per:

Edition

Visual Basic

C#

C++

Web Developer

Express

Argomento non applicabile Argomento non applicabile Argomento non applicabile Argomento non applicabile

Standard

Argomento applicabile Argomento applicabile

Argomento applicabile

Argomento applicabile

Pro e Team

Argomento applicabile Argomento applicabile

Argomento applicabile

Argomento applicabile

Legenda tabella:

Argomento applicabile

Applicabile

Argomento non applicabile

Non applicabile

Argomento valido ma comando nascosto per impostazione predefinita

Comando o comandi nascosti per impostazione predefinita.

È possibile connettere il debugger di Visual Studio a qualsiasi processo in esecuzione.

Per connettersi a un processo in esecuzione

  1. Scegliere Connetti a processo dal menu Debug. Se non è aperto alcun progetto, scegliere Connetti a processo dal menu Strumenti.

  2. Nella finestra di dialogo Connetti a processo individuare il programma con il quale si desidera stabilire una connessione nell'elenco Processi disponibili.

    1. Se il programma di cui si desidera eseguire il debug è in esecuzione in un altro computer, sarà necessario innanzitutto selezionare il computer remoto. Per ulteriori informazioni, vedere Procedura: selezionare un computer remoto.

    2. Se il processo viene eseguito con un account utente diverso, selezionare la casella di controllo Mostra processi di tutti gli utenti.

    3. Se la connessione è stata effettuata mediante Connessione desktop remoto, selezionare la casella di controllo Mostra processi in tutte le sessioni.

  3. Nella casella Connetti a verificare che sia presente il tipo di codice di cui eseguire il debug. L'impostazione predefinita Automatico tenta di determinare il tipo di codice di cui si desidera eseguire il debug. Se l'impostazione automatica non è adatta:

    1. Fare clic su Seleziona.

    2. Nella finestra di dialogo Seleziona tipo di codice fare clic su Esegui il debug di questi tipi di codice e selezionare i tipi da sottoporre a debug.

    3. Scegliere OK.

  4. Scegliere Connetti.

    L'elenco Processi disponibili viene visualizzato automaticamente quando si apre la finestra di dialogo Processi. I processi possono essere avviati e interrotti in background mentre la finestra di dialogo è aperta. È quindi possibile che il contenuto non sia sempre aggiornato. Per visualizzare i processi correnti, è possibile aggiornare l'elenco in qualsiasi momento utilizzando il pulsante Aggiorna.

    Durante l'esecuzione del debug è possibile essere connessi a più di un programma, ma in un dato momento solo uno di tali programmi potrà essere attivo nel debugger. È possibile impostare il programma attivo nella barra degli strumenti Posizione di debug o nella finestra Processi. Per ulteriori informazioni, vedere Procedura: impostare il processo corrente.

    Tutti i comandi di esecuzione del menu Debug hanno effetto sul programma attivo. È possibile interrompere l'esecuzione di un programma in fase di debug dalla finestra di dialogo Processi o interrompere tutti i programmi connessi dal menu Debug. Per ulteriori informazioni, vedere Procedura: interrompere l'esecuzione.

    Nota:

    Affinché il debugger possa connettersi a codice gestito scritto in Visual C++, è necessario che venga generato l'elemento DebuggableAttribute. È possibile aggiungere automaticamente questo elemento al codice mediante il collegamento all'opzione del linker /ASSEMBLYDEBUG.

    Se si tenta di connettersi a un processo appartenente a un account utente non attendibile, verrà visualizzata una finestra di dialogo contenente un avviso di sicurezza per chiedere conferma dell'operazione. Per ulteriori informazioni, vedere Avviso di sicurezza: la connessione a un processo di proprietà di un utente non attendibile può essere pericolosa. Se non si è certi o si diffida delle informazioni seguenti, non connettersi al processo..

    In alcuni casi, quando viene eseguito il debug in una sessione di Desktop remoto (Servizi terminal), nell'elenco Processi disponibili non vengono visualizzati tutti i processi disponibili. Se in Windows Server 2003 o versioni più recenti si esegue Visual Studio con un account utente limitato, nell'elenco Processi disponibili non verranno visualizzati i processi in esecuzione nella Sessione 0 utilizzata per i servizi e gli altri processi del server incluso w3wp.exe. È possibile risolvere il problema eseguendo Visual Studio con un account amministratore o dalla console del server invece di una sessione di Servizi Terminal. Se non è possibile adottare una di queste soluzioni alternative, una terza opzione consiste nel connettersi al processo eseguendo vsjitdebugger.exe -pIDProcesso dalla riga di comando di Windows. È possibile determinare l'ID di processo utilizzando tlist.exe. Per ottenere tlist.exe, scaricare e installare Strumenti di debug per Windows, disponibili all'indirizzo https://www.microsoft.com/whdc/devtools/debugging/default.mspx.

Vedere anche

Attività

Procedura: connettersi a processi di dispositivi gestiti

Concetti

Protezione del debugger

Riferimenti

Avviso di sicurezza: la connessione a un processo di proprietà di un utente non attendibile può essere pericolosa. Se non si è certi o si diffida delle informazioni seguenti, non connettersi al processo.

Altre risorse

Connessione a processi in esecuzione