Men-debug aplikasi .NET di komputer papan tunggal ARM
Artikel
Men-debug aplikasi .NET yang berjalan pada SBC berbasis ARM seperti Raspberry Pi menghadirkan tantangan unik. Jika diinginkan, Anda dapat menginstal Visual Studio Code dan .NET SDK di perangkat dan mengembangkan secara lokal. Namun, performa perangkat sia-sia sehingga pengkodian dan debugging secara lokal tidak ideal. Selain itu, ekstensi Visual Studio Code untuk C# tidak kompatibel dengan sistem operasi ARM 32-bit. Akibatnya, fungsionalitas seperti IntelliSense dan penelusuran kesalahan di Visual Studio Code pada perangkat ARM hanya didukung dalam sistem 64-bit.
Untuk alasan ini, sangat disarankan agar Anda mengembangkan aplikasi di komputer pengembangan lalu menyebarkan aplikasi ke perangkat untuk penelusuran kesalahan jarak jauh. Jika Anda ingin mengembangkan dan men-debug secara lokal di perangkat, berikut ini diperlukan:
OS 64-bit dengan lingkungan desktop, seperti Raspberry Pi OS (64-bit).
Instal menggunakan skrip dotnet-install seperti dalam penyebaran yang bergantung pada kerangka kerja. Pastikan untuk menambahkan DOTNET_ROOT variabel lingkungan dan menambahkan direktori .dotnet ke $PATH.
Sisa artikel ini menjelaskan cara men-debug aplikasi .NET di komputer papan tunggal dari jarak jauh dari komputer pengembangan.
Penting
Pada penulisan ini, penelusuran kesalahan aplikasi .NET 7 dari jarak jauh di lingkungan tidak dapat diandalkan linux-arm dan dapat menyebabkan proses keluar sebelum waktunya. Masalah ini sedang diselidiki. Aplikasi .NET 6 yang menargetkan linux-arm dan aplikasi .NET 7 yang menargetkan linux-arm64 tidak terpengaruh.
Debug dari Visual Studio Code (lintas platform)
Penelusuran kesalahan .NET pada komputer papan tunggal dari Visual Studio Code memerlukan langkah-langkah konfigurasi pada SBC dan dalam file launch.json proyek.
Mengaktifkan SSH pada SBC
SSH diperlukan untuk penelusuran kesalahan jarak jauh. Untuk mengaktifkan SSH pada Raspberry Pi, lihat Mengaktifkan SSH dalam dokumentasi Raspberry Pi. Pastikan Anda telah mengonfigurasi SSH tanpa kata sandi.
Penting
Contoh ini mengharuskan Anda untuk mengonfigurasi SSH tanpa kata sandi di perangkat Anda, karena OpenSSH tidak mendukung meneruskan kata sandi pada baris perintah. Jika Anda perlu menggunakan kata sandi, pertimbangkan untuk mengganti alat Plink untuk ssh.
Menginstal Debugger Jarak Jauh Visual Studio di SBC
Dalam konsol Bash di SBC (baik dalam sesi lokal atau melalui SSH), jalankan perintah berikut. Perintah ini mengunduh dan menginstal Visual Studio Remote Debugger pada perangkat:
Pada komputer pengembangan, tambahkan konfigurasi peluncuran ke launch.json proyek. Jika proyek tidak memiliki file launch.json , tambahkan dengan beralih ke tab Jalankan , pilih buat file launch.json, dan pilih .NET atau .NET Core dalam dialog.
Konfigurasi baru di launch.json akan terlihat mirip dengan salah satu hal berikut:
program adalah file yang dapat dieksekusi yang dibuat oleh dotnet publish.
cwd adalah direktori kerja yang digunakan saat meluncurkan aplikasi di perangkat.
pipeProgram adalah jalur ke klien SSH di komputer lokal.
pipeArgs adalah parameter yang akan diteruskan ke klien SSH. Pastikan untuk menentukan parameter kata sandi, serta pi pengguna dalam format <user>@<hostname>.
program adalah jalur ke runtime .NET pada perangkat.
args adalah jalur ke rakitan untuk men-debug pada perangkat.
cwd adalah direktori kerja yang digunakan saat meluncurkan aplikasi di perangkat.
justMyCode diatur ke false untuk memastikan bahwa debugger berhenti pada titik henti dalam kode aplikasi.
pipeProgram adalah jalur ke klien SSH di komputer lokal.
pipeArgs adalah parameter yang akan diteruskan ke klien SSH. Pastikan untuk menentukan parameter kata sandi, serta pi pengguna dalam format <user>@<hostname>.
Menyebarkan aplikasi
Sebarkan aplikasi seperti yang dijelaskan dalam Menyebarkan aplikasi .NET ke komputer papan tunggal ARM. Pastikan jalur penyebaran adalah jalur yang sama yang ditentukan dalam cwd parameter dalam konfigurasi launch.json .
Meluncurkan debugger
Di Visual Studio Code, pada tab Jalankan dan Debug , pilih konfigurasi yang Anda tambahkan ke launch.json dan pilih Mulai Penelusuran Kesalahan. Aplikasi ini diluncurkan pada perangkat. Debugger dapat digunakan untuk mengatur titik henti, memeriksa lokal, dan banyak lagi.
Debug dari Visual Studio di Windows
Visual Studio dapat men-debug aplikasi .NET di perangkat jarak jauh melalui SSH. Tidak diperlukan konfigurasi khusus pada perangkat. Untuk detail tentang menggunakan Visual Studio untuk men-debug .NET dari jarak jauh, lihat Debug jarak jauh .NET di Linux menggunakan SSH.
Pastikan untuk memilih dotnet proses jika Anda men-debug penyebaran yang bergantung pada kerangka kerja. Jika tidak, proses akan diberi nama yang sama dengan aplikasi yang dapat dieksekusi.
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Pelatihan langsung untuk menyebarkan dan men-debug aplikasi ASP.NET Core Anda dari jarak jauh di Azure App Service langsung menggunakan Visual Studio 2022.
Bangun solusi end-to-end di Microsoft Azure untuk membuat Azure Functions, menerapkan dan mengelola aplikasi web, mengembangkan solusi yang menggunakan penyimpanan Azure, dan banyak lagi.