Condividi tramite


Attivare eventi di sospensione, ripresa e in background durante il debug di app UWP in Visual Studio

Quando non si esegue il debug, la Gestione del ciclo di vita dei processi (PLM) di Windows controlla lo stato di esecuzione dell'app—avviando, sospendendo, riprendendo e terminando l'app in risposta alle azioni dell'utente e allo stato del dispositivo. Quando si esegue il debug, Windows disabilita questi eventi di attivazione. In questo argomento viene descritto come generare questi eventi nel debugger.

Questo argomento descrive anche come eseguire il debug delle attività in background. Le attività in background consentono di eseguire determinate operazioni in un processo in background, anche quando l'app non è in esecuzione. È possibile usare il debugger per mettere l'app in modalità di debug e quindi, senza avviare l'interfaccia utente, avviare ed eseguire il debug dell'attività in background.

Per altre informazioni sulla gestione della durata dei processi e sulle attività in background, vedere Avvio, ripresa e multitasking.

Attivare gli eventi di gestione della durata del ciclo di vita dei processi

Windows può sospendere l'app quando l'utente passa da esso o quando Windows entra in uno stato a basso consumo. È possibile rispondere all'evento Suspending per salvare i dati dell'app e dell'utente pertinenti nell'archiviazione permanente e rilasciare le risorse. Quando un'app viene ripresa dallo stato Sospeso , passa allo stato In esecuzione e continua da dove era quando è stata sospesa. È possibile rispondere all'evento per ripristinare o aggiornare lo stato dell'applicazione Resuming e recuperare le risorse.

Anche se Windows tenta di mantenere il maggior numero possibile di app sospese in memoria, Windows può terminare l'app se non sono presenti risorse sufficienti per mantenerle in memoria. Un utente può anche chiudere in modo esplicito l'app. Non esiste alcun evento speciale per indicare che l'utente ha chiuso un'app.

Nel debugger di Visual Studio è possibile sospendere, riprendere e terminare manualmente le app per eseguire il debug degli eventi del ciclo di vita del processo. Per eseguire il debug di un evento del ciclo di vita del processo:

  1. Impostare un punto di interruzione nel gestore dell'evento di cui si vuole eseguire il debug.

  2. Premere F5 per avviare il debug.

  3. Sulla barra degli strumenti Percorso di debug scegliere l'evento da attivare:

    Sospendere, riprendere, terminare e attività in background

    Sospendere e terminare chiude l'app e termina la sessione di debug.

Attivare attività in background

Qualsiasi app può registrare un'attività in background per rispondere a determinati eventi di sistema, anche quando l'app non è in esecuzione. Le attività in background non possono eseguire codice che aggiorna direttamente l'interfaccia utente; mostrano invece informazioni all'utente con aggiornamenti del riquadro, aggiornamenti del badge e notifiche toast. Per altre informazioni, vedere Supporto dell'app con attività in background.

È possibile attivare gli eventi che avviano le attività in background per l'app dal debugger.

Annotazioni

Il debugger può attivare solo gli eventi che non contengono dati, ad esempio eventi che indicano una modifica dello stato nel dispositivo. È necessario attivare manualmente le attività in background che richiedono l'input dell'utente o altri dati.

Il modo più realistico per attivare un evento di attività in background è quando l'app non è in esecuzione. Tuttavia, anche l'attivazione dell'evento in una sessione di debug standard è supportata.

Attivare un evento di attività in background da una sessione di debug standard

  1. Impostare un punto di interruzione nel codice dell'attività in background di cui si vuole eseguire il debug.

  2. Premere F5 per avviare il debug.

  3. Dall'elenco degli eventi sulla barra degli strumenti Percorso di debug scegliere l'attività in background che si desidera avviare.

    Sospendere, riprendere, terminare e attività in background

Attivare un'attività in background quando l'app non è in esecuzione

  1. Impostare un punto di interruzione nel codice dell'attività in background di cui si vuole eseguire il debug.

  2. Aprire la pagina delle proprietà di debug per il progetto di avvio. In Esplora soluzioni selezionare il progetto . Scegliere Proprietà dal menu Debug.

    Per i progetti C++, espandere Proprietà di configurazione e quindi scegliere Debug.

  3. Esegui una delle operazioni seguenti:

    • Per i progetti Visual C# e Visual Basic, scegliere Non avviare, ma eseguire il debug del codice all'avvio

      Proprietà dell'applicazione di avvio del debug C#/VB

    • Per i progetti C++, scegliere No dall'elenco Avvia applicazione .

      Proprietà di debug dell'applicazione di avvio C++/VB

  4. Premere F5 per inserire l'app in modalità di debug. Si noti che l'elenco Processo sulla barra degli strumenti Percorso di debug visualizza il nome del pacchetto dell'app per indicare che si è in modalità di debug.

    Elenco dei processi di attività in background

  5. Dall'elenco degli eventi sulla barra degli strumenti Percorso di debug scegliere l'attività in background che si desidera avviare.

    Sospendi, riprendi, termina e attività in background

Attivare eventi di gestione della durata dei processi e attività in background da un'app installata

Usare la finestra di dialogo Debug pacchetto app installato per caricare un'app già installata nel debugger. Ad esempio, potresti eseguire il debug di un'app installata da Microsoft Store o di eseguire il debug di un'app quando hai i file di origine per l'app, ma non un progetto di Visual Studio per l'app. La finestra di dialogo Debug pacchetto app installato consente di avviare un'app in modalità di debug nel computer di Visual Studio o in un dispositivo remoto oppure di impostare l'app per l'esecuzione in modalità di debug, ma non avviarla. Per altre informazioni, vedere Eseguire il debug di un pacchetto di app installato.

Dopo aver caricato l'app nel debugger, è possibile usare una delle procedure descritte in precedenza.

Diagnosi degli errori di attivazione delle attività in background

I log di diagnostica nel Visualizzatore eventi di Windows per l'infrastruttura in background contengono informazioni dettagliate che è possibile usare per diagnosticare e risolvere gli errori delle attività in background. Per visualizzare il log:

  1. Aprire l'applicazione Visualizzatore eventi.

  2. Nel riquadro Azioni scegliere Visualizza e verificare che Sia selezionata l'opzione Mostra log analitici e di debug .

  3. Nell'albero visualizzatore eventi (locale) espandere i nodi Registri applicazioni e servizi>di Microsoft>Windows>BackgroundTasksInfrastructure.

  4. Scegliere il log di diagnostica .