Condividi tramite


Impostazioni di progetto per una configurazione di debug C++

È possibile modificare le impostazioni di progetto per una configurazione di debug di C o Visual C++ nella finestra di dialogo Pagine delle proprietà, come descritto in Procedura: impostare le configurazioni di debug e rilascio. Nelle tabelle riportate di seguito sono indicate le sezioni della finestra di dialogo Pagine delle proprietà in cui sono disponibili le impostazioni correlate al debugger.

Avviso

Le impostazioni di progetto correlate al debug nella categoria Proprietà configurazione/Debug per componenti e app Windows Store scritte in C++ sono diverse.Vedere Avviare una sessione di debug per un'app dello Store in Visual Studio (VB, C#, C++ e XAML) nel Centro sviluppatori Windows.

Specificare il debugger da utilizzare nella casella di riepilogo Debugger da avviare. Le proprietà visualizzate variano in funzione del debugger selezionato.

Ogni volta che si salva la soluzione, ciascuna impostazione delle proprietà di debug viene scritta e salvata automaticamente nel file della soluzione (vcxproj.user) specifico dell'utente.

Cartella Proprietà di configurazione (categoria Debug)

Impostazione

Descrizione

Debugger da avviare

Specifica il debugger da eseguire. È possibile scegliere tra le seguenti opzioni:

  • Debugger Windows locale

  • Debugger Windows remoto

  • Debugger browser

  • Debugger servizi Web

Comando (debugger Windows locale)

Specifica il comando per l'avvio del programma di cui si esegue il debug nel computer locale.

Comando remoto (debugger Windows remoto)

Percorso del file exe nel computer remoto. Immettere il percorso come se lo si immettesse nel computer remoto.

Argomenti del comando (debugger Windows locale e debugger Windows remoto)

  • Specifica gli argomenti relativi al comando specificato in precedenza.

In questa casella è possibile utilizzare i seguenti operatori di reindirizzamento:

< file

Legge stdin dal file.

> file

Scrive stdout nel file.

>> file

Accoda stdout al file.

2> file

Scrive stderr nel file.

2>> file

Accoda stderr al file.

2> &1

Invia l'output di stderr (2) nello stesso percorso di stdout (1).

1> &2

Invia l'output di stdout (1) nello stesso percorso di stderr (2).

Nella maggior parte dei casi, questi operatori sono applicabili solo alle applicazioni console.

Cartella di lavoro

Specifica la cartella di lavoro del programma di cui viene eseguito il debug, relativamente alla directory di progetto in cui si trova il file EXE. Se non viene specificata, la cartella di lavoro corrisponde a quella del progetto. Per il debug remoto, la directory di progetto si troverà nel server remoto.

Connetti (debugger Windows locale e debugger Windows remoto)

Specifica se avviare l'applicazione o se connettersi a essa. L'impostazione predefinita è No.

Nome server remoto (debugger Windows remoto)

Specifica il nome di un computer (diverso dal computer in uso) nel quale si desidera eseguire il debug di un'applicazione.

La macro di compilazione RemoteMachine viene impostata sul valore di questa proprietà. Per ulteriori informazioni, vedere Macro per comandi e proprietà di compilazione.

Connessione (Debugger Windows remoto)

Consente di passare tra tipi di connessione standard e senza autenticazione per il debug remoto. Specificare il nome di un computer remoto nella casella Nome server remoto. I tipi di connessione includono:

  • Remoto con autenticazione di Windows

  • Remoto senza autenticazione (solo nativo)

Nota   Il debug remoto senza autenticazione può rendere vulnerabile il computer remoto alle violazioni della sicurezza. La modalità di autenticazione Windows garantisce un maggiore livello di sicurezza.

Per ulteriori informazioni, vedere Configurazione del debug remoto.

URL HTTP (debugger servizi Web e debugger browser)

Specifica l'URL in cui si trova il progetto di cui si esegue il debug.

Tipo di debugger

Specifica il tipo di debugger da utilizzare: Solo nativo, Solo gestito, Solo GPU, Misto, Automatico (impostazione predefinita) o Script.

  • L'opzione Solo nativo è destinata a codice C++ non gestito.

  • L'opzione Solo gestito è destinata a codice eseguibile in Common Language Runtime (codice gestito).

  • L'opzione Misto richiama debugger sia per codice gestito che per codice non gestito.

  • L'opzione Automatico determina il tipo di debugger in base alle informazioni del compilatore e del file EXE.

  • L'opzione Script richiama un debugger per gli script.

  • Solo GPU è destinato al codice AMP C++ eseguibile in un dispositivo GPU o nell'unità di rasterizzazione dei riferimenti DirectX. Vedere Debug del codice GPU.

Ambiente (debugger Windows locale)

Specifica le variabili di ambiente per il programma di cui si esegue il debug. Utilizzare la sintassi standard delle variabili di ambiente, ad esempio PATH="%SystemRoot%\...". Queste variabili eseguono l'override dell'ambiente di sistema oppure ne viene eseguito il merge con l'ambiente di sistema in base all'impostazione Esegui merge ambiente. Quando si fa clic nella colonna delle impostazioni, viene visualizzato "Modifica...". Fare clic su questo collegamento per modificare le variabili di ambiente.

Esegui merge ambiente (debugger Windows locale)

Determina se verrà eseguito il merge delle variabili specificate nella casella Ambiente con l'ambiente definito dal sistema operativo. L'impostazione predefinita è Sì.

Debug SQL (tutti ad eccezione del debugger cluster MPI)

Attiva il debug delle procedure SQL dall'applicazione Visual C++. L'impostazione predefinita è No.

Tipo acceleratore debug (solo debug GPU)

Specifica il dispositivo GPU da utilizzare per il debug. L'installazione dei driver per dispositivi GPU compatibili comporta l'aggiunta di altre opzioni. L'impostazione predefinita è "GPU - Emulatore software".

Comportamento punto di interruzione predefinito GPU (solo debug GPU)

Specifica se un evento del punto di interruzione deve essere generato per ogni thread in una distorsione SIMD. L'impostazione predefinita consiste nel generare l'evento del punto di interruzione una volta sola per distorsione.

Tasto di scelta rapida predefinito AMP (solo debug GPU)

Specifica il tasto di scelta rapida AMP predefinito quando si esegue il debug del codice GPU. Scegliere Acceleratore software WARP per determinare se un problema è causato dall'hardware o da un driver anziché dal codice.

Directory di distribuzione (Debugger Windows remoto)

Specifica il percorso nel computer remoto in cui l'output del progetto verrà copiato prima dell'avvio. Il percorso può essere una condivisione di rete nel computer remoto o un percorso a una cartella nel computer remoto. L'impostazione predefinita è vuota, ovvero l'output del progetto non viene copiato in una condivisione di rete. Per abilitare la distribuzione dei file, è inoltre necessario selezionare la casella di controllo Distribuisci nella finestra di dialogo Gestione configurazione. Per ulteriori informazioni, vedere Procedura: creare e modificare le configurazioni.

File aggiuntivi da distribuire (Debugger Windows remoto)

Se la proprietà della directory di distribuzione è impostata, è presente un elenco delimitato da punti e virgola di file aggiuntivi da copiare nella directory di distribuzione. L'impostazione predefinita è vuota, ovvero nessun altro file viene copiato nella directory di distribuzione. Per abilitare la distribuzione dei file, è inoltre necessario selezionare la casella di controllo Distribuisci nella finestra di dialogo Gestione configurazione. Per ulteriori informazioni, vedere Procedura: creare e modificare le configurazioni.

Distribuisci librerie di runtime di debug Visual C++ (Debugger Windows remoto)

Se la proprietà Directory di distribuzione è impostata, specifica se le librerie di runtime di debug di Visual C++ per la piattaforma corrente devono essere copiate nella condivisione di rete. L'impostazione predefinita è Sì.

Cartella C/C++ (categoria Generale)

Impostazione

Descrizione

Formato informazioni di debug (/Z7, /Zd, Zi, /ZI)

Specifica il tipo di informazioni di debug da creare per il progetto.

In base all'opzione predefinita (/ZI), viene creato un database di programma (PDB) in un formato compatibile con la funzionalità Modifica e continuazione. Per ulteriori informazioni, vedere /Z7, /Zd, /Zi, /ZI (Formato informazioni di debug).

Cartella C/C++ (categoria Ottimizzazione)

Impostazione

Descrizione

Ottimizzazione

Specifica se il codice generato dal compilatore deve essere ottimizzato. Per effetto dell'ottimizzazione, il codice eseguito viene modificato. Poiché il codice ottimizzato non corrisponde più al codice sorgente, il debug risulterà più complesso.

In base all'opzione predefinita (Disabilitato (/0d), l'ottimizzazione non viene eseguita. È possibile disattivare l'ottimizzazione durante la fase di sviluppo e attivarla quando si crea la versione di produzione del codice.

Cartella Linker (categoria Debug)

Impostazione

Descrizione

Genera informazioni di debug (/DEBUG)

Comunica al linker di includere informazioni di debug con il formato specificato da /Z7, /Zd, Zi o /ZI.

Genera file del database di programma (/PDB:nome)

In questa casella specificare il nome di un file PDB. Selezionare ZI o /Zi per Formato informazioni di debug.

Rimuovi simboli privati (/PDBSTRIPPED:nome file)

In questa casella specificare il nome di un file PDB, se non si desidera includere simboli privati nel file PDB. Questa opzione consente di creare un secondo file di database di programma (PDB) quando si compila l'immagine del programma con una qualsiasi delle opzioni del compilatore o del linker che generano un file PDB, ad esempio /DEBUG, /Z7, /Zd. Oppure /Zi. Il secondo file PDB omette i simboli che non si desidera fornire ai clienti. Per ulteriori informazioni, vedere /PDBSTRIPPED (Rimuove simboli privati).

Genera file di mapping (/MAP)

Comunica al linker di generare un file di mapping durante il collegamento. L'impostazione predefinita è No. Per ulteriori informazioni, vedere /MAP (Genera file MAP).

Nome file di mapping(/MAP:name)

Se si sceglie Genera file di mapping, è possibile specificare il file di mapping in questa casella. Per ulteriori informazioni, vedere /MAP (Genera file MAP).

Esportazioni mapping (/MAPINFO:EXPORTS)

Include le funzioni esportate nel file di mapping. L'impostazione predefinita è No. Per ulteriori informazioni, vedere /MAPINFO (Include informazioni in file MAP).

Assembly Debuggable (/ASSEMBLYDEBUG)

Specifica le impostazioni per l'opzione /ASSEMBLYDEBUG del linker. I valori possibili sono i seguenti:

  • Nessun attributo Debuggable creato.

  • Controllo di runtime e ottimizzazioni disabilitate (/ASSEMBLYDEBUG). Impostazione predefinita.

  • Nessun controllo di runtime e ottimizzazioni abilitate (/ASSEMBLYDEBUG:DISABLE).

  • <eredita da padre o da impostazioni predefinite progetto>.

  • Per ulteriori informazioni, vedere /ASSEMBLYDEBUG (Aggiunge DebuggableAttribute).

Queste impostazioni possono essere modificate a livello di codice nella cartella Proprietà di configurazione (categoria Debug) mediante l'interfaccia Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings. Per ulteriori informazioni, vedere VCDebugSettings.

Vedere anche

Riferimenti

/ASSEMBLYDEBUG (Aggiunge DebuggableAttribute)

Altre risorse

Debug del codice nativo

Impostazioni di debug e preparazione

Creazione e gestione di progetti Visual C++

Macro per comandi e proprietà di compilazione