Mister Download Manager
  1. Trang chủ
  2. Trợ giúp
  3. Báo cáo sự cố

Báo cáo sự cố

Nếu Mister Download Manager đóng đột ngột hoặc ngừng phản hồi, một cửa sổ báo cáo sự cố sẽ mở ra. Nó hiển thị những gì đã xảy ra, cho phép bạn đọc toàn bộ báo cáo và có thể gửi nó cho các nhà phát triển trên GitHub. Mỗi báo cáo giúp khắc phục sự cố cho mọi người.

Cửa sổ báo cáo sự cố sau khi MDM ngừng phản hồi

Những gì bạn thấy

  • Mister Download Manager đã đóng đột ngột: MDM bị lỗi hoặc gặp lỗi nội bộ và đóng lại.
  • Mister Download Manager đã ngừng phản hồi: cửa sổ của nó không phản hồi trong 8 giây. MDM vẫn đang chạy, bị treo. Kết thúc và khởi động lại MDM sẽ đóng bản sao bị treo và khởi động một bản mới. Nếu MDM tự phản hồi lại, cửa sổ sẽ thông báo điều đó.

Trong cửa sổ:

  1. Bạn đang làm gì khi sự cố xảy ra? là tùy chọn. Một vài từ, chẳng hạn như "Tôi đã mở Thêm URL", sẽ giúp ích rất nhiều.
  2. Báo cáo hiển thị mọi thứ sẽ được gửi. Hãy đọc nó trước nếu bạn muốn.
  3. Gửi trên GitHub mở biểu mẫu Báo cáo sự cố của GitHub trong trình duyệt của bạn, đã được điền sẵn, cùng với thư mục chứa báo cáo. Kéo tệp báo cáo vào biểu mẫu, kiểm tra và gửi. Bạn cần có tài khoản GitHub. Không có gì được gửi tự động.
  4. Nếu ai đó đã báo cáo cùng một vấn đề, cửa sổ sẽ thông báo điều đó (Đã báo cáo là vấn đề #…). Mở vấn đề đã báo cáo sẽ mở nó và đặt báo cáo của bạn vào khay nhớ tạm, để bạn có thể thêm nó làm bình luận.

Các nút khác sao chép báo cáo, mở thư mục của nó hoặc khởi động lại MDM.

Báo cáo chứa gì

  • Điều gì đã xảy ra: lỗi và vị trí trong mã của MDM nơi nó xảy ra.
  • Ngăn xếp: vị trí trong mã của MDM nơi nó bị lỗi hoặc bị treo, và những gì mọi phần khác của nó đang làm.
  • Nhật ký gần đây của MDM: ví dụ "lệnh AddUrl" hoặc "cửa sổ đã mở: add-url".
  • Hệ thống: phiên bản của MDM và cách bạn cài đặt nó, hệ điều hành và phiên bản của nó, bộ xử lý, ngôn ngữ và chủ đề, và số lượng tải xuống và hàng đợi bạn có. Đây chỉ là số lượng.

Nó không chứa:

  • địa chỉ tải xuống hoặc tên tệp của bạn;
  • tên người dùng của bạn, hiển thị dưới dạng ~ trong đường dẫn thư mục.

Nếu một thông báo lỗi trích dẫn thứ gì đó bạn đã nhập, văn bản đó có trong báo cáo, vì vậy hãy đọc nó trước khi gửi.

Tệp dữ liệu sự cố (.dmp) là một ảnh chụp nhanh về những gì MDM đang chạy vào thời điểm đó. Nó giúp các nhà phát triển nhiều nhất, nhưng nó có thể chứa các phần của những gì MDM có trong bộ nhớ, chẳng hạn như địa chỉ tải xuống. Nó chỉ được đính kèm khi bạn chọn Cũng đính kèm dữ liệu sự cố.

Nơi lưu giữ báo cáo

Trong thư mục dữ liệu của MDM:

  • crashes\: mỗi báo cáo (.txt) và dữ liệu sự cố của nó (.dmp);
  • logs\: nhật ký của MDM (mdm.log, với các nhật ký cũ hơn là mdm.1.log và cứ thế, mỗi tệp 2 MB).

Thư mục dữ liệu của MDM là %APPDATA%\misterdownloadmanager trên Windows, ~/Library/Application Support/misterdownloadmanager trên macOS và ~/.local/share/misterdownloadmanager trên Linux. Trong chế độ di động nó là thư mục data bên cạnh chương trình.

Nhật ký ghi lại những gì MDM làm, vì vậy một báo cáo có thể cho thấy điều gì đã dẫn đến sự cố. Để ghi nhật ký chi tiết hơn, hãy khởi động MDM với biến môi trường MDM_LOG=debug.

Dành cho nhà phát triển

Cách hoạt động: một bản sao thứ hai của MDM, màn hình, khởi động bên cạnh nó với --crash-monitor. Mã sự cố nằm trong crates/crash và crates/app/src/crash.rs.

  • Bắt lỗi. Khi MDM bị lỗi (một ngoại lệ của Windows, một tín hiệu trên Linux, một ngoại lệ của Mach trên macOS), hoảng loạn hoặc bị treo, nó sẽ yêu cầu màn hình tạo một bản ghi. Một sự cố treo là một khung cửa sổ chạy hơn 8 giây, được nhìn thấy bởi một luồng giám sát bỏ qua thời gian ngủ. Màn hình sau đó ghi một minidump của mọi luồng từ bên ngoài, thông qua minidumper và crash-handler. Một tiến trình bị lỗi không bao giờ tự ghi bản ghi của nó, đây cũng là cách Firefox, Crashpad và Sentry thực hiện.
  • Đọc tệp kết xuất. Trình giám sát đọc tệp kết xuất bằng rust-minidump của Mozilla. Nó sử dụng các ký hiệu Breakpad của bản phát hành nếu tìm thấy, hoặc thông tin gỡ lỗi gốc bên cạnh bản dựng từ mã nguồn. Chữ ký của báo cáo (ví dụ freeze in misterdownloadmanager::winui::combo_edit) giữ nguyên cho các báo cáo về cùng một vấn đề, và cửa sổ sẽ tìm kiếm các vấn đề hiện có dựa trên chữ ký này.
  • Ký hiệu. Các bản dựng phát hành giữ lại bảng dòng (debug = "line-tables-only"), nhưng không có bản tải xuống nào bao gồm thông tin gỡ lỗi. CI chuyển đổi nó thành MisterDownloadManager-<version>-symbols-<platform>.zip (tools/installer/symbols.py, sử dụng dump_syms của Mozilla), được xuất bản cùng với các tệp khác của bản phát hành. Cửa sổ báo cáo sẽ tìm nạp tệp zip cho phiên bản của chính nó khi một ngăn xếp hiển thị các địa chỉ trống.
  • Một .dmp từ một vấn đề:

cargo run -p mdm-crash --bin mdm-symbolicate -- crash.dmp MisterDownloadManager-<version>-symbols-windows-x64.zip

  • Kiểm tra. cargo test -p mdm-crash chạy một sự cố đóng băng, hoảng loạn và sập thực sự (examples/crashy.rs) và kiểm tra chữ ký của mỗi báo cáo. Để thử trong ứng dụng, hãy khởi động MDM bằng MDM_CRASH_TEST=1, sau đó chạy misterdownloadmanager /show crash-test:freeze (hoặc panic, crash, abort).

Miễn phí, mã nguồn mở, không quảng cáo, không dùng thử.

Tải xuống Mister Download Manager