Câu trả lời:
Phụ thuộc vào ứng dụng. Các ứng dụng khác nhau có hệ thống đăng nhập khác nhau; không có một bản ghi trung tâm nào chứa tất cả đầu ra từ tất cả các chương trình chạy trên hệ thống của bạn.
Điều đó đang được nói, rất nhiều chương trình đưa tập tin nhật ký của họ vào thư mục /var/log
. Cụ thể, tệp /var/log/syslog
(hoặc có thể /var/log/messages
) chứa đầu ra từ "bộ ghi hệ thống", đây là dịch vụ được cung cấp bởi hệ thống mà các chương trình có thể sử dụng (nếu họ chọn) để ghi nhật ký. Nhưng không phải tất cả các chương trình đều sử dụng nó. Hầu hết, bạn sẽ tìm thấy tin nhắn từ các dịch vụ hệ thống cấp thấp trong tệp đó, không phải các ứng dụng đồ họa mà bạn có thể sử dụng bình thường.
Bạn có thể muốn đọc thêm về vị trí của các tệp nhật ký tiêu chuẩn .
các tập tin sự cố đi vào /var/log/crashes/
sử dụng với apport để báo cáo lỗi. Bạn có thể trích xuất kết xuất lõi với apport-unpack
, đặt kết xuất lõi đó qua gdb và tìm hiểu nguyên nhân khiến chương trình bị sập.
Đây là tất cả giả sử bạn là một lập trình viên. Nếu bạn không ... tốt, bạn vẫn không thể khắc phục sự cố!
bt full
"ồ nhìn ngược lại ... với các biểu tượng bị thiếu ... đoán tôi cần cài đặt các biểu tượng gỡ lỗi và cố gắng tái tạo sự cố ..." Tôi đã từng tìm ra cách thiết lập một điểm dừng ... đó là điều tiên tiến nhất mà tôi đã nhận được với nó mặc dù.
Một số ứng dụng có các cờ có thể được sử dụng để bật gỡ lỗi, chẳng hạn như -d, -D, --debug, v.v. Kiểm tra trang man của ứng dụng ( man [my-app]
) hoặc chạy ứng dụng với cờ -h để xem nó có như vậy không Lựa chọn.
Nhiều ứng dụng GUI ghi vào lỗi $ HOME / .xsession-vì vậy đó là nơi tốt để kiểm tra đầu ra.
quyền của maco đó có lẽ là cách chắc chắn nhất để có được thông tin gỡ lỗi tốt. Đôi khi, nó không chụp được vụ tai nạn.
Nếu vẫn thất bại, bạn cũng có thể buộc thông tin ra khỏi nó bằng cách chạy ứng dụng trong gdb. Nó sẽ giống như:
$ gdb my-app
(gdb) run
... làm bất cứ điều gì cần thiết để khiến nó sụp đổ ...
(gdb) bt full
và đi từ đó.
Nếu bạn đi theo tuyến gdb, bạn cũng sẽ muốn cài đặt các biểu tượng, như đã đề cập trước đó. Xem https://wiki.ubfox.com/DebuggingProgramCrash để được tư vấn về việc nắm giữ.
Nếu bạn đang khởi chạy ứng dụng của mình từ tệp launcher .desktop, hãy thêm tùy chọn Terminal=true
vào tệp .desktop của bạn. Điều này sẽ mở ra một thiết bị đầu cuối khi bạn chạy chương trình, đầu ra trên thiết bị đầu cuối sẽ tương tự như những gì bạn thấy nếu bạn đã chạy chương trình thông qua dòng lệnh ở vị trí đầu tiên. Bằng cách này, khi GUI gặp sự cố hoặc treo, bạn có thể thấy đầu ra văn bản nào dẫn đến nó.