Condividi tramite


Preparazione del debug: tipi di progetto C++

Questa sezione descrive come eseguire il debug dei tipi di progetto di base creati dai modelli di progetto di Visual C++.

Si noti che i tipi di progetto che creano DLL come output sono stati raggruppati in progetti DLL per il debug a causa delle funzionalità comuni.

In questo argomento

Impostazioni delle Proprietà Consigliate

progetti Win32

Alcune proprietà devono essere impostate allo stesso modo per tutti gli scenari di debug non gestiti. Nelle tabelle seguenti vengono visualizzate le impostazioni delle proprietà consigliate. Le impostazioni non elencate di seguito possono variare tra i diversi tipi di progetto non gestiti. Per altre informazioni, vedere Impostazioni del Progetto per una Configurazione di Debug in C++.

Proprietà di configurazione | C/C++ | Nodo di ottimizzazione

Nome della proprietà Impostazione
di ottimizzazione Impostare su Disabilitato (/0d). Il codice ottimizzato è più difficile da eseguire il debug, perché le istruzioni generate non corrispondono direttamente al codice sorgente. Se il programma ha un bug visualizzato solo nel codice ottimizzato, è possibile attivare questa impostazione, ma ricordare che il codice visualizzato nella finestra Disassembly finestra viene generato dall'origine ottimizzata che potrebbe non corrispondere a quello visualizzato nelle finestre di origine. Altre funzionalità, come la modalità passo-passo, potrebbero non comportarsi come previsto.

Proprietà di configurazione | Linker | Nodo di debug

Nome proprietà Impostazione
Generare informazioni di debug È consigliabile impostare sempre questa opzione su sì (/DEBUG) per creare simboli e file di debug necessari per il debug. Quando l'applicazione entra in produzione, è possibile disattivarla.

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 è semplice.

Le applicazioni Win32 includono applicazioni MFC e progetti ATL. Usano API Windows e possono usare MFC o ATL, ma non usano Common Language Runtime (CLR). Tuttavia, possono chiamare codice gestito che utilizza il CLR.

La procedura seguente illustra come eseguire il debug di un progetto Win32 da Visual Studio. Un altro modo per eseguire il debug di un'applicazione Win32 consiste nell'avviare l'applicazione all'esterno di Visual Studio e collegarla. Per altre informazioni, vedere Allegare a processi in esecuzione.

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

  1. Aprire il progetto in Visual Studio.

  2. Nel menu Debug scegliere Avvia.

  3. Eseguire il debug usando le tecniche descritte in Esaminare innanzitutto il debugger.

Per impostare manualmente una configurazione di debug

  1. Nel menu Visualizza fare clic su pagine delle proprietà .

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

  3. Selezionare Generalee impostare il valore della riga output su Debug.

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

    Nella riga debug specificare il tipo di informazioni di debug da generare dal compilatore. I valori che è possibile scegliere includono Database programma (/Zi) o Database programma per la modifica & continua (/ZI).

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

    Il codice ottimizzato è più difficile da eseguire per il debug, perché le istruzioni generate non corrispondono direttamente al codice sorgente. Se il programma ha un bug visualizzato solo nel codice ottimizzato, è possibile attivare questa impostazione, ma tenere presente che il codice visualizzato nella finestra Disassembly viene generato dall'origine ottimizzata che potrebbe non corrispondere a quello visualizzato nelle finestre di origine. È probabile che le funzionalità come il passo visualizzino i punti di interruzione e i punti di esecuzione in modo errato.

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

    Per altre informazioni, vedere Project Settings for a C++ Debug Configuration.

    In questo argomento