调试内核恐慌错误

时间:2018-04-20 13:31:46

标签: linux-kernel

我有一个手臂板,我正在使用内核4.1.15运行yocto。当我运行我的python程序时,我经常跟踪内核错误但随机

Unable to handle kernel paging request at virtual address 7f101f7c 
pgd = 80004000 
[7f101f7c] *pgd=8c6c4811, *pte=00000000, *ppte=00000000 
Internal error: Oops: 80000007 [#1] PREEMPT SMP ARM 
Modules linked in: wilc3000(O) at_pwr_dev(O) pn5xx_i2c [last unloaded: at_pwr_dev] 
CPU: 0 PID: 1336 Comm: DebugThread Tainted: G O 4.1.15-1.2.0+g77f6154 
Hardware name: Freescale i.MX6 Ultralite (Device Tree) 
task: 8c73b900 ti: 8c8d6000 task.ti: 8c8d6000 
PC is at 0x7f101f7c 
LR is at _raw_spin_unlock_irqrestore+0x28/0x54 
pc : [<7f101f7c>] lr : [<807e1238>] psr: 600f0013 
sp : 8c8d7f30 ip : 00000000 fp : 00000000 
r10: 7f107d30 r9 : 7f107d20 r8 : 7f107f48 
r7 : 00000000 r6 : 8c57b000 r5 : 7f107f48 r4 : 8c54aa00 
r3 : 00000000 r2 : 00000000 r1 : 20000013 r0 : ffffffc2 
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel 
Control: 10c53c7d Table: 8c52c06a DAC: 00000015 
Process DebugThread (pid: 1336, stack limit = 0x8c8d6210) 
Stack: (0x8c8d7f30 to 0x8c8d8000) 7f20: 8c8063a0 00000000 8c8d6000 00000000 
7f40: 00000000 00000000 00000000 8c975c40 8c54aa00 7f101f28 00000000 00000000 
7f60: 00000000 8004d070 00000000 00000000 7ee95a5c 8c54aa00 00000000 00000000 
7f80: 8c8d7f80 8c8d7f80 00000000 00000000 8c8d7f90 8c8d7f90 8c8d7fac 8c975c40 
7fa0: 8004cf94 00000000 00000000 8000f528 00000000 00000000 00000000 00000000 
7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 7a9ce301 72611f00 
[<807e1238>] (_raw_spin_unlock_irqrestore) from [<00000000>] ( (null)) 
Code: bad PC value

考虑到我无法访问此板上的JTAG这一事实,如何调试此错误。 Code: bad PC value是什么意思?如果有任何关于此问题的任何问题?

1 个答案:

答案 0 :(得分:0)

pc : [<7f101f7c>] lr : [<807e1238>] psr: 600f0013 

为了将其翻译成源代码行:

arm-none-linux-gnueabi-addr2line -f -e vmlinux 7f101f7c

您必须使用addr2line命令。