.attach (Connetti a processo)

Il comando .attach si collega a una nuova applicazione di destinazione.

.attach [-premote RemoteOptions] AttachOptions PID

Parametri

RemoteOptions
Specifica un server di elaborazione a cui connettersi. Le opzioni sono uguali a quelle per l'opzione -premote della riga di comando. Per informazioni dettagliate sulla sintassi, vedere Attivazione di un client intelligente .

AttachOptions
Specifica la modalità di funzionamento del collegamento. Ciò può includere una delle opzioni seguenti:

-B
Impedisce al debugger di richiedere un'interruzione iniziale durante il collegamento a un processo di destinazione. Ciò può essere utile se l'applicazione è già sospesa o se si vuole evitare di creare un thread di interruzione nella destinazione.

-e
Consente al debugger di connettersi a un processo già sottoposto a debug. Per informazioni dettagliate, vedere Ricollegamento all'applicazione di destinazione .

-K
Avvia una sessione di debug del kernel locale. Per informazioni dettagliate, vedere Esecuzione del debug del kernel locale .

-F
Blocca tutti i thread in tutte le applicazioni di destinazione, ad eccezione della nuova destinazione a cui è collegato. Questi thread rimarranno bloccati fino a quando non si verifica un'eccezione nel processo appena collegato. Si noti che un punto di interruzione iniziale viene qualificato come eccezione. I singoli thread possono essere annullati usando il comando ~u (Unfreeze Thread).

-R

Fa in modo che il debugger avvii il processo di destinazione in esecuzione quando viene collegato. Ciò può essere utile se l'applicazione è già sospesa e si vuole riprendere l'esecuzione.

-Presso
Fa sì che il processo specificato venga sottoposto a debug in modo non invasivo.

PID
Specifica l'ID processo della nuova applicazione di destinazione.

Ambiente

Elemento Descrizione
Modalità solo modalità utente
Targets solo debug in tempo reale
Piattaforme all

Commenti

Questo comando può essere usato quando la rete CDB è inattiva o se è già in esecuzione il debug di uno o più processi. Non può essere usato quando WinDbg è inattivo.

Se questo comando ha esito positivo, il debugger si connetterà al processo specificato alla successiva esecuzione del debugger. Se questo comando viene usato più volte in una riga, l'esecuzione dovrà essere richiesta tutte le volte in cui è stato usato questo comando.

Poiché l'esecuzione non è consentita durante il debug non invasivo, il debugger non è in grado di eseguire il debug non in modo non invasivo di più processi alla volta. Ciò significa anche che l'uso del comando .attach -v può rendere meno utile una sessione di debug invasiva già esistente.

Più processi di destinazione verranno sempre eseguiti insieme, a meno che alcuni dei relativi thread non siano bloccati o sospesi.

Se si vuole collegarsi a un nuovo processo e bloccare tutte le destinazioni esistenti, usare l'opzione -f . Ad esempio, è possibile eseguire il debug di un arresto anomalo in un'applicazione client e connettersi al processo del server senza consentire all'applicazione client di continuare l'esecuzione.

Se viene usata l'opzione -premote , il nuovo processo farà parte di un nuovo sistema. Per informazioni dettagliate, vedere Debug di più destinazioni.