Categories
Uncategorized

sviluppo di Linux con Visual Studio: il supporto di prima classe per gdbserver, miglioramento dei tempi di costruire con Ninja, e gli aggiornamenti di Connection Manager12/06/2020

TheMummichogblog è un partecipante al Amazon Services LLC Associates programma, un programma di affiliazione pubblicitario progettato per fornire un mezzo per siti per guadagnare tariffe pubblicitarie con la pubblicità e il link al amazon.com. Amazon, il logo di Amazon, AmazonSupply, e il logo AmazonSupply sono marchi di Amazon.com, Inc. o delle sue affiliate.

sviluppo di Linux con Visual Studio: il supporto di prima classe per gdbserver, miglioramento dei tempi di costruire con Ninja, e gli aggiornamenti di Connection Manager
Erika
Erika

2 giugno 2020

--------------------------------------------------------------------------------------------------



Siate lieti nella speranza, forti nella tribolazione, perseveranti nella preghiera.


Subscribe By E-mail:

Enter your email address:

Delivered by FeedBurner



----------------------------------------------------------------------------------------------

Con Visual Studio 2019 è possibile costruire ed eseguire il debug C ++ progetti su un sistema Linux remoto o Windows Subsystem for Linux (WSL). Si può iniziare con lo sviluppo di Linux in Visual Studio utilizzando progetti Linux MSBuild-based o il nostro supporto nativo per CMake. CMake consente di utilizzare gli stessi script di codice sorgente e costruire per indirizzare più piattaforme ed è la nostra raccomandazione per niente cross-piattaforma o con un occhio al open-sourcing. Questo post del blog copre i recenti miglioramenti al nostro supporto Linux in Visual Studio, tra cui:

Sostenere per Ninja su Linux. Ninja è un sistema di compilazione con un focus sulla velocità. Ninja è stato il generatore di default (sistema di compilazione sottostante) per le configurazioni CMake rivolte Windows per qualche tempo, ma in Visual Studio 2019 versione 16.6 Preview 3 abbiamo aggiunto il supporto per Ninja su Linux. Ninja è solitamente più veloce Unix Makefiles ed è ora il generatore di default per le nuove configurazioni di targeting CEseguire un sistema remoto o WSL.
supporto di prima classe per gdbserver. Gdbserver è un programma che permette di eseguire il debug remoto delle applicazioni in esecuzione su Linux. E ‘particolarmente utile in scenari integrati in cui il vostro sistema di destinazione potrebbe non avere le risorse per gdb corsa. In Visual Studio 2019 versione 16.7 Preview 1 abbiamo aggiunto una nuova configurazione debugger per eseguire il debug di progetti CMake con gdbserver su sistemi remoti. Questo elimina la necessità di configurare manualmente launch.vs.json come descritto nel nostro precedente post del blog: debug Linux CMake Progetti con gdbserver.
Miglioramenti al Connection Manager. Il Connection Manager in Visual Studio consente di gestire e memorizzare le connessioni SSH sicuro ai sistemi remoti. Sentiamo il tuo feedback, e in Visual Studio 2019 versione 16.7 Preview 2 è possibile modificare e impostare di default le connessioni remote in Connection Manager. Questo vi permetterà di modificare una connessione esistente (ad esempio, se l’indirizzo IP del dispositivo di destinazione cambiato) e connessioni remote set predefinito per essere consumato in CMakeSettings.json e launch.vs.json tramite $ {} defaultRemoteMachineName in progetti CMake.
Maggiori dettagli su tutte queste nuove caratteristiche sono elencate di seguito.

tempi di costruzione migliorate con Ninja su Linux
Ninja è un sistema di compilazione con un focus sulla velocità. In Visual Studio 2019 versione 16.6 Preview 3 abbiamo aggiunto il supporto per la costruzione di progetti di CMake con Ninja su sistemi remoti Linux e WSL.

Ninja è solitamente più veloce Unix Makefiles ed è ora il generatore di default per le nuove configurazioni di targeting CEseguire un sistema remoto o WSL. È possibile installare ninja su sistemi Linux Debian-based con i seguenti comandi:

sudo update apt-get

sudo apt-get install ninja-build
Abbiamo svolto test di performance per confrontare Ninja e Unix Makefiles su due CMake progetti open-source: bullet3 e LLVM. Questi test mostrano il tempo per una completa ricostruire da Visual Studio e sono stati eseguiti nei confronti di un VM locale (Ubuntu).

Ninja Fai
bullet3 3 minuti 11 minuti
LLVM (link parallelismo set a 2) 40 minuti 143 minuti

In Visual Studio 2019 versione 16.6 Preview 3 o successiva si può provare a costruire il vostro progetto su Linux direttamente da Visual Studio con CMake e Ninja di sfruttare questi miglioramenti delle prestazioni e ridurre i tempi di compilazione.

supporto di prima classe per gdbserver in progetti CMake
In Visual Studio 2019 versione 16.6 Preview 2 abbiamo introdotto un nuovo modello di debug per semplificare il debug remoto con gdb. In Visual Studio 2019 versione 16.7 Preview 1 abbiamo ampliato su questo modello per includere il supporto di prima classe per il debug con gdbserver.

sessioni di debug per i progetti CMake sono configurati in launch.vs.json. Maggiori informazioni su questo file e le istruzioni per l’aggiunta di nuove configurazioni può essere trovato nella nostra documentazione aggiornata. Una configurazione di tipo ‘cppgdb’ è utilizzato per il debug remoto su un sistema Linux o WSL.

{
“Tipo”: “cppgdb”,
“Name”: “CMakeLists.txt”,
“Progetto”: “CMakeLists.txt”,
“ProjectTarget”: “”,
“Commento”: “Scopri come configurare il debug remoto Vedi qui per maggiori informazioni aka.ms/vslinuxdebug“,
“DebuggerConfiguration”: “gdbserver”,
“args”: [],
“ENV”: {}
}
Visual Studio utilizza il front-end del debugger di Visual Studio sostenuta interamente da gdb o gdbserver per eseguire il debug su un sistema remoto o WSL. È possibile selezionare o gdb debug gdbserver tramite il tasto debuggerConfiguration.

debuggerConfiguration: Indica quale insieme di debug valori di default per l’uso. In Visual Studio 2019 versione 16.6, l’unica opzione valida è gdb. Visual Studio 2019 versione 16.7 o successiva supporta anche gdbserver.

Ci sono opzioni supplementari autorizzati con la configurazione gdbserver, tra cui:

gdbPath: Il valore predefinito è $ {} debugInfo.vsInstalledGdb. percorso di Windows completo al gdb utilizzato per eseguire il debug. Per impostazione predefinita, indica la gdb installati con lo sviluppo di Linux con C / C ++ carico di lavoro.

gdbserverPath: Il valore predefinito è usr / bin / gdbserver. Percorso completo Unix al gdbserver utilizzato per eseguire il debug.

Il nostro supporto di prima classe per gdbserver avvia il processo gdbserver sulla destinazione remota, i tubi del stdout e stderr gdbserver alla finestra di output, e uccide il processo gdbserver su eventuali guasti o di arresto. Un elenco completo di opzioni aggiuntive si possono trovare nella nostra documentazione aggiornata.

Si noti che si consiglia di utilizzare gdb per le normali scenari di debug remoto. Gdbserver può essere utilizzato quando il sistema di destinazione potrebbe non avere le risorse per eseguire il pieno gdb (ad esempio in scenari integrati). In questo caso, può essere utile per sfruttare la separazione di creare e distribuire a costruire su un più potente sistema Linux (o localmente su WSL) e il debug sul dispositivo a bassa potenza utilizzando gdbserver.

Modifica e impostare di default le connessioni remote in Connection Manager
Infine, in Visual Studio 2019 versione 16.7 Preview 2 abbiamo aggiunto la possibilità di modificare e impostare di default le connessioni remote in Connection Manager. Il Connection Manager in Visual Studio consente di gestire e memorizzare le connessioni sicure a SHH sistemi remoti.

Utilizzare il Connection Manager (Strumenti> Opzioni> Cross Platform> Connection Manager) per modificare e impostare di default le connessioni remote.

È ora possibile modificare stabilito connessioni remote (ad esempio, se l’indirizzo IP del dispositivo di destinazione modificato) senza rimuovere il collegamento originale. Ciò significa che Visual Studio non avrà bisogno di ricopiare il includono directory per il compilatore sul sistema remoto che vengono copiati automaticamente a Windows per fornire un’esperienza IntelliSense nativo. È possibile saperne di più su IntelliSense per progetti Linux in Visual Studio nel nostro recente post sul blog.

È inoltre possibile impostare le connessioni predefinite a distanza che da mangiare con la macro $ {} defaultRemoteMachineName in CMakeSettings.json e launch.vs.json in progetti CMake. Questo vi permetterà di controllare questi file in controllo del codice sorgente senza alcun dell’utente o del computer dettagli di configurazione specifica.

Dacci il tuo feedback
Scarica Visual Studio 2019 versione 16.7 Preview 2 oggi e fare un tentativo. Ci piacerebbe sentire da voi di aiutarci a definire le priorità e costruire le caratteristiche giuste per voi. Possiamo essere raggiunti tramite i commenti qui sotto, comunità di sviluppatori, e Twitter (@VisualC). Il modo migliore per presentare un bug o suggerire una funzione è tramite Developer Community.

devblogs.microsoft.com/cppblog/linux-development-with-visual-studio-first-class-support-for-gdbserver-improved-build-times-with-ninja-and-updates-to-the- connection-manager /? ocid = 3006539 & MC = VStudio & MC = virtuale & MC = Apri & MC = MSAzure & MC = Testing

Amazon e il logo di Amazon sono marchi di Amazon.com, Inc., o delle sue affiliate.