Thư mục chia sẻ được gắn kết, trình soạn thảo mở tệp, và bản dựng vẫn chạy trên máy tính xách tay. Không có lỗi nào xuất hiện, và đó chính là điều gây khó hiểu. Một đường dẫn từ xa không phải là chuỗi công cụ từ xa, và một trình soạn thảo có thể đọc tệp qua điểm gắn kết sẽ vui vẻ gọi trình biên dịch cục bộ trên tệp đó. Giải pháp là di chuyển không gian làm việc, không chỉ các byte.

Thư mục được gắn kết không phải là không gian làm việc

Gắn kết qua SSH hoặc SMB cho bạn một đường dẫn. Việc trình biên dịch, hệ thống dựng và trình gỡ lỗi đến từ phía từ xa hay không phụ thuộc vào nơi trình soạn thảo quyết định chạy chúng. Nhiều cấu hình đọc tệp từ xa và biên dịch cục bộ, rồi thất bại ở một tệp tiêu đề chỉ tồn tại trên máy chủ.

Triệu chứng rất tinh tế: bản dựng thành công với kết quả một phần, hoặc vỡ ở một đường dẫn include trông có vẻ đúng trong trình soạn thảo.

Chứng minh máy nào phản hồi

Kết nối bằng một phiên từ xa thật thay vì gắn kết, sau đó chạy ba lệnh chỉ đọc trong terminal mà phiên đó cung cấp. Hướng dẫn SSH của VS Code ghi rằng terminal trong cửa sổ từ xa đã kết nối chạy trên máy từ xa và cùng phiên đó mang theo việc gỡ lỗi. Hãy xin phê duyệt cho các thành phần từ xa trước nếu tổ chức hạn chế chúng.

hostname nêu tên máy bạn đang ở, pwd cho thấy không gian làm việc thực sự nằm ở đâu, và command -v c++ in ra trình biên dịch mà shell sẽ chạy. Cả ba câu trả lời nên mô tả máy chủ, không phải máy tính xách tay.

Chúng không chứng minh phiên bản hay cấu hình dựng là đúng. Hãy so sánh điều đó với hướng dẫn của chính dự án như một bước riêng.

Theo dõi một thay đổi qua bản dựng và gỡ lỗi

Thực hiện một thay đổi nhỏ trong không gian làm việc từ xa và lưu lại ở đó. Chạy bản dựng theo tài liệu từ cùng thư mục đó và xác nhận đầu ra phản ánh thay đổi của bạn chứ không phải một bản sao cũ ở nơi khác. Sau đó khởi chạy trình gỡ lỗi qua cùng phiên từ xa, với đường dẫn tệp nhị phân và thư mục làm việc trỏ vào cây dựng của máy chủ. Việc khớp đường dẫn nguồn rất quan trọng, vì một trình gỡ lỗi phân giải thay đổi của bạn thành đường dẫn trên máy tính xách tay đang gỡ lỗi một tệp khác.

Nếu mục tiêu gỡ lỗi báo cáo các đường dẫn bắt đầu bằng thư mục chính cục bộ của bạn, cấu hình khởi chạy vẫn đang nghĩ cục bộ.

Các phụ thuộc mạng ở lại với máy chủ

Việc tải gói, thao tác git hoặc chạy kiểm thử bắt đầu trên máy dựng dùng mạng và thông tin đăng nhập của máy đó, không phải phiên VPN của máy tính xách tay bạn. Việc máy tính xách tay tới được một gương gói riêng không nói gì về việc máy chủ có tới được hay không. Nếu bản dựng cần một registry, máy chủ cần một tuyến tới đó, và đó là cuộc trao đổi về tường lửa, không phải cài đặt trình soạn thảo.

Điều ngược lại cũng đúng với ứng dụng kiểm thử. Tới một dịch vụ trên máy chủ từ trình duyệt của bạn là một kết nối riêng cần một đường dẫn riêng đã được phê duyệt hoặc một chuyển tiếp hạn chế, không phải một cổng lắng nghe mở.

Ngắt kết nối mà không mất việc

Lưu và commit, hoặc ít nhất ghi lại cây làm việc, trước khi kết nối rơi. Một phiên chỉnh sửa từ xa không hứa rằng một bản dựng đang chạy hay một bộ đệm chưa lưu sẽ sống sót qua gián đoạn mạng. Với mọi thứ phải tồn tại lâu hơn phiên của bạn, hãy dùng quy trình công việc hoặc phiên mà dự án hỗ trợ.

Khi đó phân công lao động rất rõ: máy tính xách tay là giao diện, máy chủ sở hữu không gian làm việc và chuỗi công cụ, còn VPN cung cấp tuyến đường. Di chuyển tệp và di chuyển bản dựng là hai quyết định riêng biệt.

Bài viết liên quan