Share di-mount, editor membuka file, dan build tetap berjalan di laptop. Tidak ada yang memberi error, dan itulah yang membuatnya membingungkan. Path jarak jauh bukan toolchain jarak jauh, dan editor yang bisa membaca file lewat mount akan dengan senang hati memanggil compiler lokal padanya. Solusinya adalah memindahkan workspace, bukan hanya byte-nya.

Direktori yang di-mount bukan workspace

Me-mount lewat SSH atau SMB memberi Anda sebuah path. Apakah compiler, sistem build, dan debugger datang dari sisi jarak jauh bergantung pada di mana editor memutuskan menjalankannya. Banyak penyiapan membaca file jarak jauh dan mengompilasinya secara lokal, lalu gagal pada file header yang hanya ada di server.

Gejalanya halus: build berhasil dengan hasil sebagian, atau pecah pada jalur include yang terlihat benar di editor.

Buktikan host mana yang menjawab

Hubungkan sesi jarak jauh sungguhan alih-alih mount, lalu jalankan tiga perintah hanya-baca di terminal yang diberikan sesi itu. Panduan SSH dari VS Code mendokumentasikan bahwa terminal di jendela jarak jauh yang terhubung berjalan di host jarak jauh dan sesi yang sama membawa debugging. Mintalah persetujuan untuk komponen jarak jauh lebih dulu jika organisasi membatasinya.

hostname menyebut mesin tempat Anda berada, pwd menunjukkan di mana workspace sebenarnya berada, dan command -v c++ mencetak compiler yang akan dijalankan shell. Ketiga jawaban itu semestinya menjelaskan server, bukan laptop.

Itu tidak membuktikan versi atau konfigurasi build benar. Bandingkan hal itu dengan instruksi proyek sendiri sebagai langkah terpisah.

Ikuti satu perubahan menembus build dan debug

Buat perubahan kecil di workspace jarak jauh dan simpan di sana. Jalankan build terdokumentasi dari direktori yang sama dan pastikan output mencerminkan perubahan Anda, bukan salinan lama di tempat lain. Lalu jalankan debugger lewat sesi jarak jauh yang sama, dengan path biner dan direktori kerja menunjuk ke pohon build server. Kecocokan path sumber penting, karena debugger yang memetakan perubahan Anda ke path laptop sedang men-debug file lain.

Jika target debug melaporkan path yang dimulai dengan direktori home lokal Anda, konfigurasi peluncuran masih berpikir secara lokal.

Dependensi jaringan tetap di host

Pengambilan paket, operasi git, atau menjalankan tes yang dimulai di host build memakai jaringan dan kredensial host itu, bukan sesi VPN laptop Anda. Laptop bisa mencapai cermin paket privat tidak berarti server bisa. Jika build membutuhkan registri, server membutuhkan rute ke sana, dan itu percakapan firewall, bukan pengaturan editor.

Hal sebaliknya juga berlaku untuk aplikasi uji. Menjangkau layanan di server dari browser Anda adalah koneksi terpisah yang membutuhkan jalur privat yang disetujui atau penerusan terbatas, bukan listener terbuka.

Putuskan koneksi tanpa kehilangan pekerjaan

Simpan dan commit, atau setidaknya catat working tree, sebelum koneksi putus. Sesi penyuntingan jarak jauh tidak menjanjikan build yang sedang berjalan atau buffer yang belum disimpan bertahan dari gangguan jaringan. Untuk apa pun yang harus hidup lebih lama dari sesi Anda, gunakan alur kerja tugas atau sesi yang didukung proyek.

Pembagian kerja menjadi jelas: laptop adalah antarmuka, server memiliki workspace dan toolchain, dan VPN menyediakan rute. Memindahkan file dan memindahkan build adalah dua keputusan terpisah.

Artikel terkait