Làm thế nào để đọc và sử dụng các báo cáo sự cố?


12

Một ứng dụng độc lập nhỏ đang bị sập trên hệ thống của tôi (Kubfox 12.04). Tôi muốn xem xét thủ công thông tin trong báo cáo sự cố và sau đó gửi email các phần có liên quan cho nhà phát triển. /var/crash/_usr_bin_appname.1000.crashTuy nhiên, tệp này được đặt trong tôi không chắc chắn tôi cần công cụ nào để đọc, chỉnh sửa và lưu báo cáo sự cố ở dạng mà tôi có thể gửi email cho nhà phát triển.

Câu trả lời:


7

Báo cáo sự cố Apport nên được đặt trong:

/var/crash

Và khi tôi nhìn vào một:

jmunsch@NE-522:/var/log$ sudo cat /var/crash/*.*


ProblemType: Crash
Architecture: i386
Date: Fri Jul 11 20:40:09 2014
DistroRelease: Ubuntu 12.04

Đây là chương trình gây ra sự cố:

ExecutablePath: /usr/sbin/winbindd
ExecutableTimestamp: 1395068066
ProcCmdline: /usr/sbin/winbindd
ProcCwd: /var/log/samba/cores/winbindd
ProcEnviron:
 TERM=linux
 PATH=(custom, no user)

Đây là các đối tượng được chia sẻ C / thư viện dùng chung đang được chương trình vấn đề sử dụng:

ProcMaps:
 b6606000-b6622000 r-xp 00000000 08:01 394314     /lib/i386-linux-gnu/libgcc_s.so.1
 b6622000-b6623000 r--p 0001b000 08:01 394314     /lib/i386-linux-gnu/libgcc_s.so.1
 b6623000-b6624000 rw-p 0001c000 08:01 394314     /lib/i386-linux-gnu/libgcc_s.so.1
 b6642000-b664d000 r-xp 00000000 08:01 442782     /lib/i386-linux-gnu/libnss_files-2.15.so
 b664d000-b664e000 r--p 0000a000 08:01 442782     /lib/i386-linux-gnu/libnss_files-2.15.so
 b664e000-b664f000 rw-p 0000b000 08:01 442782     /lib/i386-linux-gnu/libnss_files-2.15.so
 b664f000-b6659000 r-xp 00000000 08:01 442517     /lib/i386-linux-gnu/libnss_nis-2.15.so
 b6659000-b665a000 r--p 00009000 08:01 442517     /lib/i386-linux-gnu/libnss_nis-2.15.so
 b665a000-b665b000 rw-p 0000a000 08:01 442517     /lib/i386-linux-gnu/libnss_nis-2.15.so
 b665b000-b6662000 r-xp 00000000 08:01 442803     /lib/i386-linux-gnu/libnss_compat-2.15.so
 b6662000-b6663000 r--p 00006000 08:01 442803     /lib/i386-linux-gnu/libnss_compat-2.15.so
 b6663000-b6664000 rw-p 00007000 08:01 442803     /lib/i386-linux-gnu/libnss_compat-2.15.so
 b666c000-b6670000 rw-s 00000000 00:0f 11331      /run/samba/messages.tdb
 b6670000-b6679000 rw-s 00000000 08:01 393253     /var/lib/samba/account_policy.tdb
 b6679000-b6682000 rw-s 00000000 08:01 445067     /var/lib/samba/passdb.tdb
 b6682000-b668a000 rw-s 00000000 08:01 394026     /var/cache/samba/winbindd_cache.tdb
 b668a000-b668b000 rw-s 00000000 08:01 442342     /var/cache/samba/netsamlogon_cache.tdb
 b668b000-b668d000 rw-s 00000000 00:0f 11353      /run/samba/serverid.tdb
.
.
.

Điều này cho thấy những gì chương trình đã làm khi sự cố xảy ra:

ProcStatus:
 Name:  winbindd
 State: S (sleeping)
 Tgid:  1556
 Pid:   1556
 PPid:  1
 TracerPid: 0
 Uid:   0   0   0   0
 Gid:   0   0   0   0
 FDSize:    256
 Groups:    
 VmPeak:       18000 kB
 VmSize:       17880 kB
 VmLck:        0 kB
 VmPin:        0 kB
 VmHWM:     2956 kB
 VmRSS:     2956 kB
 VmData:         400 kB
 VmStk:      136 kB
 VmExe:     7668 kB
 VmLib:     8656 kB
 VmPTE:       44 kB
 VmSwap:           0 kB
 Threads:   1
 SigQ:  2/30418
 SigPnd:    0000000000000000
 ShdPnd:    0000000000000000
 SigBlk:    0000000000000400
 SigIgn:    0000000000001000
 SigCgt:    0000000180014e47
 CapInh:    0000000000000000
 CapPrm:    ffffffffffffffff
 CapEff:    ffffffffffffffff
 CapBnd:    ffffffffffffffff
 Cpus_allowed:  3
 Cpus_allowed_list: 0-1
 Mems_allowed:  1
 Mems_allowed_list: 0
 voluntary_ctxt_switches:   1215
 nonvoluntary_ctxt_switches:    11
Signal: 6
Uname: Linux 3.2.0-53-lowlatency-pae i686
UserGroups: 

Điều này có thể có tất cả mật khẩu của bạn trong đó cẩn thận với thông tin này:

CoreDump: base64
.
.
.
core dump looks like
aASDFNFOSIefnsldgfnsweifnLEGNi43ng3gSNSDLgn483LNdg43ls
WO$EIGNOIDGNW$INGLSDKGNSLDIGNO$WIGNLRSIGN*RW(GNDKJNLGD
*TNOIDUGNSKJDGNKSDGNSIUEGFBSGUDB*SDgUSHNEUGBSD&GSAUBSD
.
.
.

Làm thế nào tôi có thể xem về CoreDump?
Alex Dueppen

@ A.Dueppen nên ở dưới cùng của tập tin.
jmunsch

1
//, Làm thế nào để so sánh với apport-retrace? Ngoài ra, bạn có muốn xem xét thêm wiki.ubfox.com/DebuggingProgramCrash vào câu trả lời này không?
Nathan Basan

6

Đây là giải pháp tốt nhất tôi tìm thấy cho đến nay:

apt-get install apport-retrace

Sau đó nghiên cứu hướng dẫn tại một trong hai:

http://manpages.ubfox.com/manpages/rared/en/man1/apport-retrace.1.html

hoặc là

man apport-retrace

Tôi đã đưa ra lệnh này:

apport-retrace --confirm --gdb --sandbox system --verbose --cache /my/path/cache/apport-retrace --output /mypath/apport-retrace/appname.1000.crash /var/crash/_usr_bin_appname.1000.crash

Sử dụng các đường dẫn của riêng bạn (thay vì / my / path) và tên ứng dụng chính xác (thay vì 'appname') trong lệnh trên. Xem hướng dẫn cho các biến thể của lệnh đó.


2
Lưu ý quan trọng đối với người dùng mới: Khi bạn quyết định bỏ --cache ...tùy chọn, bạn có thể nghĩ có gì đó không ổn, nhưng không phải vậy. Một apt-getthủ tục toàn diện sẽ được kích hoạt ( không có root !) Có thể được tưởng tượng như một loại "máy ảo" trong đó lệnh trong câu hỏi sẽ được thực thi. Thành thật mà nói, khi điều này xảy ra lần đầu tiên, tôi chỉ nghĩ "Cái quái gì đang diễn ra NGAY BÂY GIỜ ??" Bên cạnh đó, hãy kiên nhẫn - sẽ mất vài phút cho đến khi môi trường gỡ lỗi sẵn sàng để sử dụng.
cú pháp

3
Lưu ý thêm : Bạn KHÔNG được sử dụng -oresp. --outputkết hợp với --gdb, điều này là không thể.
cú pháp

-1

Ubuntu cũng đã thiết kế một chuỗi cho bạn. Nó có tên là D ebugging Program Crash Chỉnh sửa: Tôi vừa nghe về một chương trình có tên là biến động và nó có sẵn cho Ubuntu, bạn có thể cài đặt với

sudo apt-get install ubuntu

để biết thêm thông tin


2
Câu trả lời StackExchange không nên chỉ là liên kết đến các trang web khác.
MountainX

// , Đã đồng ý. Tuy nhiên, đó là một liên kết tốt.
Nathan Basan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.