cara membaca dan menggunakan laporan kerusakan?

13

Aplikasi kecil yang independen mogok di sistem saya (Kubuntu 12.04). Saya ingin meninjau info secara manual dalam laporan kerusakan dan kemudian mengirim email bagian yang relevan kepada pengembang. File ini terletak di /var/crash/_usr_bin_appname.1000.crashnamun saya tidak yakin alat mana yang saya butuhkan untuk membaca, mengedit, dan menyimpan laporan kerusakan dalam bentuk yang saya bisa kirim email ke pengembang.

MountainX
sumber

Jawaban:

8

Laporan Kecelakaan Hubungan Kerja harus berlokasi di:

/var/crash

Dan ketika saya melihat satu:

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

Ini adalah program yang menyebabkan masalah:

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

Ini adalah objek C dibagikan / shared library yang sedang digunakan oleh program masalah:

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
.
.
.

Ini menunjukkan apa yang sedang dilakukan program ketika crash:

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: 

Ini dapat memiliki semua kata sandi Anda di dalamnya, berhati-hatilah dengan informasi ini:

CoreDump: base64
.
.
.
core dump looks like
aASDFNFOSIefnsldgfnsweifnLEGNi43ng3gSNSDLgn483LNdg43ls
WO$EIGNOIDGNW$INGLSDKGNSLDIGNO$WIGNLRSIGN*RW(GNDKJNLGD
*TNOIDUGNSKJDGNKSDGNSIUEGFBSGUDB*SDgUSHNEUGBSD&GSAUBSD
.
.
.
jmunsch
sumber
Bagaimana cara saya melihat CoreDump?
Alex Dueppen
@ A.Dueppen harus di bagian bawah file.
jmunsch
1
//, Bagaimana ini dibandingkan apport-retrace? Juga, akankah Anda mempertimbangkan untuk menambahkan wiki.ubuntu.com/DebuggingProgramCrash ke jawaban ini?
Nathan Basanese
6

Inilah solusi terbaik yang saya temukan sejauh ini:

apt-get install apport-retrace

Kemudian pelajari manualnya di:

http://manpages.ubuntu.com/manpages/raring/en/man1/apport-retrace.1.html

atau

man apport-retrace

Saya datang dengan perintah ini:

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

Gunakan jalur Anda sendiri (bukan / my / path) dan nama aplikasi yang benar (bukan 'nama aplikasi') dalam perintah di atas. Lihat manual untuk variasi pada perintah itu.

MountainX
sumber
2
Catatan penting untuk pengguna baru: Ketika Anda memutuskan untuk menghilangkan --cache ...opsi, Anda mungkin berpikir ada sesuatu yang salah, tetapi itu tidak. apt-getProsedur komprehensif akan dipicu ( tanpa root !) Yang dapat dibayangkan sebagai semacam "mesin virtual" di mana perintah tersebut akan dieksekusi. Terus terang, ketika ini terjadi pertama kali, saya hanya berpikir "Apa yang sedang terjadi SEKARANG ??" Selain itu, bersabarlah - akan butuh beberapa menit sampai lingkungan debugging siap digunakan.
syntaxerror
3
Catatan tambahan : Anda TIDAK -oBISA menggunakan resp. --outputdalam kombinasi dengan --gdb, ini tidak mungkin.
syntaxerror
-2

Nah Ubuntu telah merancang urutan untuk Anda juga. Dinamai sebagai D ebugging Program Crash Edit: Saya baru saja mendengar tentang sebuah program bernama volatilitas dan tersedia untuk Ubuntu, Anda dapat menginstal dengan

sudo apt-get install ubuntu

untuk informasi lebih lanjut

rɑːdʒɑ
sumber
2
Jawaban StackExchange tidak boleh hanya berupa tautan ke situs lain.
MountainX
// , Sepakat. Namun, ini tautan yang bagus.
Nathan Basanese