Condividi tramite


Preparazione al debug: tipi di progetto Visual C++

In questa sezione viene descritto come eseguire il debug dei tipi di progetto di base creati mediante i modelli di progetto Visual C++.

Si tenga presente che i tipi di progetto che consentono di creare DLL come output vengono tutti descritti in Debug di progetti di DLL perché presentano caratteristiche comuni.

In questo argomento

Impostazioni consigliate delle proprietà

Progetti Win32

  • Per eseguire il debug di un'applicazione Win32 in C o C++

  • Per impostare manualmente una configurazione di debug

Applicazioni Windows Form (.NET)

Impostazioni consigliate delle proprietà

Determinate proprietà devono essere impostate nello stesso modo per tutti gli scenari di debug non gestito.Nelle tabelle riportate di seguito sono indicate le impostazioni consigliate delle proprietà.Le impostazioni non specificate in queste tabelle possono variare in base al tipo di progetto non gestito.Per ulteriori informazioni, vedere Impostazioni di progetto per una configurazione di debug C++">

Proprietà di configurazione | C/C++ | nodo Ottimizzazione

Nome proprietà

Impostazione

Ottimizzazione

Impostare su Disabilitato (/0d). L'esecuzione del debug di codice ottimizzato è più complessa perché le istruzioni generate non corrispondono direttamente al codice sorgente.Se si nota un bug presente solo nel codice ottimizzato del programma, è possibile attivare questa impostazione, tenendo però presente che il codice riportato nella finestra Disassembly è generato da codice sorgente ottimizzato che potrebbe non corrispondere a quanto visualizzato nelle finestre del codice sorgente.È possibile che altre funzionalità, ad esempio il debug passo a passo, non funzionino come previsto.

Proprietà di configurazione | Linker | nodo Debug

Nome proprietà

Impostazione

Genera informazioni di debug

Si consiglia di impostare questa opzione sempre su Sì (/DEBUG) per creare i simboli di debug e i file necessari per il debug.Quando l'applicazione passa alla fase di produzione, è possibile disattivare questa opzione.

In questo argomento

Progetti Win32

Le applicazioni Win32 sono programmi Windows tradizionali scritti in C o C++.Il debug di questo tipo di applicazione in Visual Studio è una procedura molto semplice.

Le applicazioni Win32 includono applicazioni MFC e progetti ATL.Utilizzano API Windows e possono utilizzare MFC o ATL, ma non Common Language Runtime (CLR).Possono, tuttavia, chiamare codice gestito che utilizza CLR.

Nella procedura riportata di seguito viene descritto come eseguire il debug di un progetto Win32 dall'interno di Visual Studio.Per eseguire il debug di un'applicazione Win32 è anche possibile avviare l'applicazione all'esterno di Visual Studio e stabilire una connessione.Per ulteriori informazioni, vedere Connessione a processi in esecuzione.

tdb6bs3y.collapse_all(it-it,VS.110).gifPer eseguire il debug di un'applicazione Win32 in C o C++

  1. Aprire il progetto in Visual Studio.

  2. Scegliere Avvia dal menu Debug.

  3. Eseguire il debug utilizzando le tecniche descritte in Guida di orientamento al debugger.

tdb6bs3y.collapse_all(it-it,VS.110).gifPer impostare manualmente una configurazione di debug

  1. Scegliere Pagine delle proprietà dal menu Visualizza.

  2. Fare clic sul nodo Proprietà di configurazione per aprirlo se non è già

  3. Selezionare Generale e impostare il valore della riga Output su Debug.

  4. Espandere il nodo C/C++ e selezionare Generale.

    Nella riga Debug specificare il tipo di informazioni di debug che dovrà essere generato dal compilatore.I valori tra cui è possibile scegliere includono Database di programma (/Zi) e Database di programma per Modifica e continuazione (/ZI).

  5. Selezionare Ottimizzazione e nella riga Ottimizzazione scegliere Disabilitato (/0d) dall'elenco a discesa.

    L'esecuzione del debug di codice ottimizzato è più complessa perché le istruzioni generate non corrispondono direttamente al codice sorgente.Se si nota un bug presente solo nel codice ottimizzato del programma, è possibile attivare questa impostazione, tenendo però presente che il codice riportato nella finestra Disassembly è generato da codice sorgente ottimizzato che potrebbe non corrispondere a quanto visualizzato nelle finestre del codice sorgente.È probabile che alcune funzionalità, ad esempio il debug passo a passo, non visualizzino i punti di interruzione e i punti di esecuzione in modo corretto.

  6. Espandere il nodo Linker e selezionare Debug.Nella prima riga di Genera informazioni di debug selezionare Sì (/DEBUG) dall'elenco a discesa.Utilizzare sempre questa impostazione durante il debug.

Per ulteriori informazioni, vedere Impostazioni di progetto per una configurazione di debug C++.

In questo argomento

Applicazioni Windows Form (.NET)

Il modello Windows Forms Application (.NET) crea un'applicazione Windows Form di Visual C++.Per ulteriori informazioni, vedere Procedura: creare un nuovo progetto di applicazione Windows Form.

Il debug di questo tipo di applicazione in Visual Studio è simile a quello delle applicazioni Windows Form gestite.

Quando si crea un progetto di Windows Form mediante il modello di progetto, in Visual Studio vengono definite automaticamente le impostazioni necessarie per le configurazioni di debug e di rilascio.Se necessario, è possibile modificare queste impostazioni nella finestra di dialogo Pagine delle proprietà di <nomeprogetto>.Per ulteriori informazioni, vedere Procedura: impostare le configurazioni di debug e rilascio.

Per ulteriori informazioni, vedere Impostazioni di progetto per una configurazione di debug C++.

Per eseguire il debug di un'applicazione Windows Form è anche possibile avviare l'applicazione all'esterno di Visual Studio e stabilire una connessione.Per ulteriori informazioni, vedere Connessione a processi in esecuzione.

In questo argomento

Vedere anche

Attività

Configurazioni debug e release

Procedura: creare un nuovo progetto di applicazione Windows Form

Riferimenti

Impostazioni di progetto per una configurazione di debug C++

Altre risorse

Guida di orientamento al debugger

Connessione a un programma o ai programmi multipli