Condividi tramite


Attivazione dell'esecuzione del debug ad associazione JIT

Aggiornamento: novembre 2007

Per debug ad associazione JIT si intende la connessione di un debugger a un'immagine eseguibile che genera un'eccezione non rilevata. Nel codice non gestito, è quello che succede quando viene visualizzata una finestra di messaggio che richiede di:

  • Scegliere OK per terminare il programma

  • Scegliere ANNULLA per eseguire il debug del programma

Se si sceglie ANNULLA, un debugger viene avviato e associato al processo. La chiave del Registro di sistema che controlla questa operazione è denominata HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\AeDebug.

Per un'applicazione che include codice gestito, Common Language Runtime visualizza una finestra di dialogo simile per eseguire l'associazione JIT di un debugger. La chiave del Registro di sistema che controlla questa opzione è denominata HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\DbgJITDebugLaunchSetting.

  • Se il valore è uguale a 0, viene visualizzata una finestra di messaggio per l'utente. Questo si verifica solo per i processi interattivi, mentre i servizi e altri processi non interattivi vengono terminati.

    Se si utilizza .NET Framework versioni 1.0 e 1.1, o .NET Framework versione 2.0 in esecuzione su Windows 98 e Windows Me, nella finestra di messaggio è possibile scegliere di:

    • Continuare. In questo caso, verrà eseguito un dump dello stack sulla console e il processo verrà terminato.

    • Connettere un debugger. In questo caso, il runtime genererà il debugger elencato nella chiave del Registro di sistema DbgManagedDebugger. Se non viene trovato alcun debugger, il processo verrà terminato.

    In .NET Framework versione 2.0 in esecuzione su piattaforme diverse da Windows 98 e Windows Me sono disponibili le seguenti opzioni:

    • Invia. Viene prima inviata una segnalazione errori a Microsoft, quindi il processo viene terminato. Per informazioni su come recuperare queste segnalazioni, visitare il sito Web Windows Quality Online Services all'indirizzo http://winqual.microsoft.com (informazioni in lingua inglese).

    • Non inviare. Viene eseguito un dump dello stack alla console e il processo viene terminato.

    • Debug. Il runtime genera il debugger elencato nella chiave del Registro di sistema DbgManagedDebugger. Se non viene trovato alcun debugger, il processo viene terminato.

  • Se il valore è uguale a 1, viene semplicemente restituito il controllo. Questa operazione causa un dump dello stack, quindi il processo viene terminato.

  • Se il valore è uguale a 2, viene generato il debugger elencato nella chiave del Registro di sistema DbgManagedDebugger.

  • Se il valore è uguale a 16 (solo in .NET Framework versione 2.0), per i processi interattivi viene visualizzata la finestra di messaggio descritta in precedenza. Per i processi non interattivi, il runtime genera il debugger elencato nella chiave del Registro di sistema DbgManagedDebugger. Questa è l'impostazione predefinita per .NET Framework versione 2.0.

Vedere anche

Concetti

Semplificazione del debug di un'immagine

Attivazione della funzione di profiling

Altre risorse

Esecuzione del debug e creazione del profilo delle applicazioni