Cách thu thập nhật ký VPN Android cho một phiếu hỗ trợ
Xuất nhật ký của ứng dụng cho một lần thử, sau đó lấy một cửa sổ ADB logcat ngắn được cấp phép. Lọc theo thời gian và thẻ, che các bí mật rồi gửi một gói duy nhất.
Bạn nhấn Connect, hồ sơ quay một giây và ứng dụng báo mất kết nối. Bộ phận hỗ trợ yêu cầu nhật ký, bạn đính kèm ảnh chụp màn hình, và chủ đề đứng yên hai ngày vì không ai nói được phần nào của quá trình bắt tay đã bỏ cuộc. Một báo cáo xây quanh một lần thử, với khung thời gian hẹp và giai đoạn cuối đã hoàn tất, đưa phiếu tiến lên trong một vòng. Còn phương án thay thế, nhật ký điện thoại cả ngày, thường chỉ cho người ở đầu bên kia nhiều chỗ để xem hơn.
Hai điện thoại trên cùng một cổng vẫn có thể hành xử khác nhau, vì giao thức, kho chứng chỉ, phương thức xác thực hoặc chính sách lưu lượng có thể không khớp. Nó chạy trên iPhone của tôi là điểm khởi đầu để so sánh, không phải bằng chứng về lỗi Android.
Ghi lại một lần thử thay vì một ngày lịch sử
Ghi lại môi trường trước khi tái hiện bất cứ điều gì: phiên bản Android, nhà sản xuất và kiểu máy, tên và phiên bản ứng dụng, hồ sơ bạn chọn, mạng bạn đang kết nối và giờ đồng hồ kèm múi giờ. Tôi cũng ghi chú xem chế độ tiết kiệm pin hoặc Data Saver có bật không, vì cả hai đều thay đổi những gì ứng dụng được phép làm sau khi màn hình tắt.
Sau đó xác định bạn đang thực sự nhìn thấy kết quả nào trong năm kết quả. Lời nhắc đồng ý hoặc cấp quyền không bao giờ hoàn tất, không thể chạm tới điểm cuối, xác thực bị từ chối, thiết lập giao diện thất bại sau khi đăng nhập thành công, hoặc đường hầm dựng lên và một tài nguyên cụ thể vẫn không truy cập được. Mỗi trường hợp có người phụ trách và cách khắc phục khác nhau, và một gói trộn lẫn chúng sẽ nhận được câu trả lời yêu cầu thử lại. Chính việc đoán giữa chúng biến một phiếu một giờ thành một tuần thư từ qua lại.
Các chuyển tiếp cũng quan trọng. Nếu lỗi chỉ xuất hiện sau khi khóa màn hình hoặc sau khi chuyển từ Wi-Fi sang dữ liệu di động, hãy ghi điều đó ở dòng đầu tiên của phiếu và ghi lại phút xảy ra.
Trước tiên hãy xuất nhật ký của chính ứng dụng
Tệp đính kèm đầu tiên nên đến từ ứng dụng chứ không phải từ hệ điều hành. Hầu hết ứng dụng cung cấp tính năng xuất nhật ký chẩn đoán hoặc nhật ký kết nối trong phần cài đặt, đôi khi ẩn sau một lần nhấn giữ trên chuỗi phiên bản, và bản xuất đó đã hiểu máy trạng thái của chính nó. Hãy dùng nó như khi nó xuất ra thay vì gõ lại các dòng thú vị vào nội dung phiếu.
Đính kèm lỗi đầu tiên và các sự kiện ngay trước đó, không chỉ dòng ngắt kết nối cuối cùng. Một phần đuôi sạch thường có nghĩa là lỗi thật đã xảy ra sớm hơn: một chuỗi chứng chỉ không xác thực được, một tên được phân giải ở nơi không mong đợi, hoặc một giao diện chưa từng được cấu hình.
Chỉ thêm logcat cho một câu hỏi mà bạn có thể gọi tên
Trình giả lập terminal trên điện thoại không phải trình ghi nhật ký hệ thống. Android ghi các bộ đệm của nó thành những luồng vòng riêng biệt mà chỉ tiến trình có đặc quyền mới đọc được đầy đủ. Vì vậy một ứng dụng thông thường chỉ thấy đầu ra của mình và một phần bị giới hạn, và câu nói rằng logcat trống chứng minh rất ít về những gì nền tảng đã ghi lại.
Đường được hỗ trợ là một phiên ADB được cấp phép từ máy tính bạn kiểm soát. Bật tùy chọn nhà phát triển và gỡ lỗi USB, cắm cáp, và chấp nhận hộp thoại dấu vân tay RSA trên thiết bị; nếu lời nhắc đó bị đóng, mọi lệnh sau đó đều thất bại với unauthorized và không có bản ghi nào bắt đầu.
Xác nhận thiết bị thực sự ở đó trước khi dành thời gian cho một bản ghi. adb devices sẽ in số sê-ri rồi đến từ device, và bất cứ thứ gì hiển thị offline hoặc unauthorized trước tiên cần xử lý cáp, lời nhắc hoặc trình điều khiển.
Khi thiết bị xuất hiện trong danh sách, hãy bắt đầu ghi vài giây trước khi nhấn Connect và dừng ngay sau khi ứng dụng bỏ cuộc. Một bản ghi trực tiếp với khởi đầu có chủ đích tốt hơn bản kết xuất lấy hai mươi phút sau, vì các bộ đệm vòng đã quay và những dòng đầu tiên bạn cần có thể đã biến mất:
adb logcat -v threadtime -b main,system,crash > attempt.txt
Lọc theo thời gian và thẻ thay vì từ VPN
Tìm vpn trong một bản ghi là cách nhanh nhất để mất dòng giải thích lỗi. Việc xác thực chứng chỉ, sự cố tiến trình và thay đổi kết nối được ghi dưới các thẻ không bao giờ nhắc đến VPN, nên bộ lọc từ khóa giữ lại nhiễu và ném đi bằng chứng.
Thu hẹp cửa sổ trước, rồi đến mức ưu tiên, rồi đến thẻ. Khi bạn chỉ cần những gì xảy ra sau một thời điểm đã biết, adb logcat -v threadtime -t '11-03 20:14:00.000' phát lại phần đuôi gần nhất từ điểm đó, và định dạng threadtime giữ dấu thời gian so sánh được với bản xuất của chính ứng dụng.
Nếu bạn biết gói của ứng dụng, hãy theo dõi tiến trình của nó thay vì đoán thẻ. adb shell pidof com.vendor.client trả về một PID và adb logcat --pid=1234 -v threadtime chỉ in tiến trình đó, trong khi adb logcat -g cho thấy mỗi bộ đệm còn bao nhiêu chỗ trước khi bắt đầu ghi đè.
Che các bí mật, rồi bàn giao một gói nhất quán
Trước khi bất cứ thứ gì rời khỏi máy của bạn, hãy xóa mật khẩu, token, khóa riêng, cookie phiên và định danh thiết bị đầy đủ. Giữ lại mã lỗi, thứ tự sự kiện và quan hệ địa chỉ giúp lỗi đọc được, vì một bản ghi đã làm sạch vượt qua ranh giới đó cũng vô dụng như bản chưa từng được lọc.
Sau đó gửi một gói thay vì nhiều tệp rời: bản xuất của ứng dụng, cửa sổ ADB được đặt tên theo thời gian bắt đầu và kết thúc, bản tóm tắt hai dòng về giai đoạn thất bại, và ghi chú môi trường ở đầu danh sách này. Nếu một phần không thể đăng công khai, hãy dùng kênh hỗ trợ riêng của nhà cung cấp và nói rõ tệp nào cần kênh đó.
Trước khi gửi, hãy kiểm tra bốn điều. Gói có bao một lần thử chứ không phải cả buổi chiều không? Dấu thời gian của ứng dụng và hệ thống có chồng lên nhau không? Và nó còn chứa token, mật khẩu hoặc định danh thuê bao đầy đủ không? Hãy sửa điểm cuối đó trước, rồi đính kèm tệp vào phiếu hiện có thay vì mở phiếu mới, để người tiếp nhận giữ được ngữ cảnh trước đó.