Answers:
Apport崩溃报告应位于:
/var/crash
当我看一个时:
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
这是引起问题的程序:
ExecutablePath: /usr/sbin/winbindd
ExecutableTimestamp: 1395068066
ProcCmdline: /usr/sbin/winbindd
ProcCwd: /var/log/samba/cores/winbindd
ProcEnviron:
TERM=linux
PATH=(custom, no user)
这些是问题程序正在使用的C共享库/共享库:
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
.
.
.
这显示崩溃发生时程序正在做什么:
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:
使用以下信息时,请注意其中的所有密码:
CoreDump: base64
.
.
.
core dump looks like
aASDFNFOSIefnsldgfnsweifnLEGNi43ng3gSNSDLgn483LNdg43ls
WO$EIGNOIDGNW$INGLSDKGNSLDIGNO$WIGNLRSIGN*RW(GNDKJNLGD
*TNOIDUGNSKJDGNKSDGNSIUEGFBSGUDB*SDgUSHNEUGBSD&GSAUBSD
.
.
.
apport-retrace
?另外,是否会考虑将wiki.ubuntu.com/DebuggingProgramCrash添加到此答案?
这是到目前为止我找到的最好的解决方案:
apt-get install apport-retrace
然后在以下任一位置学习手册:
http://manpages.ubuntu.com/manpages/raring/zh/man1/apport-retrace.1.html
要么
man apport-retrace
我想出了以下命令:
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
在上面的命令中使用您自己的路径(而不是/ my / path)和正确的应用程序名称(而不是'appname')。有关该命令的变化,请参见手册。
--cache ...
选项时,您可能会认为出了点问题,但事实并非如此。apt-get
将会触发一个全面的过程(不带 root
!),可以将其想象为一种“虚拟机”,在其中执行所讨论的命令。坦白说,这是第一次发生时,我只是想:“现在到底发生了什么??” 此外,请耐心等待 -调试环境准备就绪需要几分钟。
-o
resp。--output
与结合使用--gdb
,这是不可能的。