Distribuire, eseguire e sottoporre a debug il progetto LinuxDeploy, run, and debug your Linux project

Dopo avere creato un progetto Linux ed essersi connessi al progetto usando Gestione connessione per Linux, è possibile eseguire il progetto ed eseguirne il debug.Once you have created a Linux project and you have connected to the project using the Linux Connection Manager, you can run and debug the project. Si compila, si esegue e si sottopone a debug il codice nella destinazione remota.You compile, execute, and debug the code on the remote target.

Esistono diversi modi di interagire con il progetto Linux ed eseguirne il debug.There are several ways to interact with and debug your Linux project.

  • Eseguire il debug usando le tradizionali funzionalità di Visual Studio, ad esempio punti di interruzione, finestre Espressioni di controllo e passaggio del puntatore su una variabile.Debug using traditional Visual Studio features, such as breakpoints, watch windows, and hovering over a variable. Usando questi metodi, è possibile eseguire il debug nel modo consueto, come per gli altri tipi di progetto.Using these methods, you may debug as you normally would for other project types.
  • Visualizzare l'output dal computer di destinazione in una finestra della console di Linux speciale.View output from the target computer in a special Linux Console window. È anche possibile usare la console per inviare l'input al computer di destinazione.You can also use the console to send input to the target computer.

Eseguire il debug del progetto LinuxDebug your Linux project

  1. Selezionare la modalità di debug nella pagina delle proprietà Debug.Select debugging mode in the Debugging property page.

    Per il debug delle applicazioni in esecuzione su Linux viene usato GDB.GDB is used to debug applications running on Linux. Lo strumento può essere eseguito in due modalità diverse, selezionabili dall'opzione Modalità di debug nella pagina delle proprietà del debug del progetto:However, this can run in two different modes, which can be selected from the Debugging Mode option in the project's Debugging property page:

    Opzioni GDB

    • In modalità gdbserver GDB viene eseguito in locale e si connette a gdbserver in esecuzione sul sistema remoto.In gdbserver mode, GDB is run locally which connects to gdbserver running on the remote system. Si noti che questa è l'unica modalità supportata dalla finestra della console di Linux.Note that this is the only mode which the Linux Console window supports.

    • In modalità gdb il debugger di Visual Studio indirizza GDB al sistema remoto, che è più compatibile se la versione locale di GDB non è compatibile con la versione installata nel computer di destinazione.In gdb mode, the Visual Studio debugger drives GDB on the remote system, which is more compatible if the local version of GDB is not compatible with the version installed on the target computer. |

      Nota

      Se non è possibile raggiungere i punti di interruzione in modalità di debug gdbserver, provare la modalità gdb.If you are unable to hit breakpoints in gdbserver debugging mode, try gdb mode. gdb deve prima essere installato nella destinazione remota.gdb must first be installed on the remote target.

  2. Selezionare la destinazione remota usando la barra degli strumenti standard Debug in Visual Studio.Select the remote target using the standard Debug toolbar in Visual Studio.

    Quando la destinazione remota è disponibile, risulterà elencato per nome o indirizzo IP.When the remote target is available, you will see it listed by either name or IP address.

    Destinazione remota

    Se non ci si è ancora connessi alla destinazione remota, verrà visualizzata un'istruzione che indica di usare Gestione connessione per Linux per connettersi alla destinazione remota.If you have not yet connected to the remote target, you will see an instruction to use Linux Connection Manager to connect to the remote target.

    Architettura remota

  3. Impostare un punto di interruzione facendo clic nella barra di navigazione a sinistra di un codice che verrà sicuramente eseguito.Set a breakpoint by clicking in the left gutter of some code that you know will execute.

    Un punto rosso viene visualizzato nella riga di codice in cui è stato impostato il punto di interruzione.A red dot appears on the line of code where you set the breakpoint.

  4. Premere F5 (o Debug > Avvia debug) per avviare il debug.Press F5 (or Debug > Start Debugging) to start debugging.

    Quando si avvia il debug, l'applicazione viene compilata nella destinazione remota prima che venga avviata.When you start debugging, the application is compiled on the remote target before it starts. Gli eventuali errori di compilazione verranno visualizzati nella finestra Elenco errori.Any compilation errors will appear in the Error List window.

    Se non sono presenti errori, l'app verrà avviata e il debugger verrà sospeso in corrispondenza del punto di interruzione.If there are no errors, the app will start and the debugger will pause at the breakpoint.

    Raggiungere un punto di interruzione

    È ora possibile interagire con l'applicazione nello stato corrente, visualizzare le variabili ed eseguire un'istruzione alla volta il codice premendo i tasti funzione, ad esempio F10 o F11.Now, you can interact with the application in it's current state, view variables, and step through code by pressing command keys such as F10 or F11.

  5. Per usare la console Linux per interagire con l'app, selezionare Debug > Console Linux.If you want to use the Linux Console to interact with your app, select Debug > Linux Console.

    Menu della console di Linux

    Questa console visualizza tutto l'output di console del computer di destinazione, oltre ad accettare l'input e inviarlo al computer di destinazione.This console will display any console output from the target computer as well as take input and send it to the target computer.

    Finestra della console di Linux

Configurare le altre opzioni di debugConfigure other debugging options

  • Gli argomenti della riga di comando possono essere passati all'eseguibile usando l'elemento Argomenti del programma nella pagina delle proprietà del debug.Command line arguments can be passed to the executable using the Program Arguments item in the project's Debugging property page.

    Argomenti del programma

  • Le opzioni specifiche del debugger possono essere passate a GDB usando la voce Comandi aggiuntivi del debugger.Specific debugger options can be passed to GDB using the Additional Debugger Commands entry. Può essere utile ad esempio ignorare i segnali SIGILL (istruzione non valida).For example, you might want to ignore SIGILL (illegal instruction) signals. Per ottenere questo risultato, è possibile usare il comando handle,You could use the handle command to achieve this. aggiungendo quanto segue alla voce Comandi aggiuntivi del debugger come illustrato in precedenza:by adding the following to the Additional Debugger Commands entry as shown above:

    handle SIGILL nostop noprint

Vedere ancheSee also

Proprietà di debug C++ (Linux C++).C++ Debugging Properties (Linux C++).