如果我有一个内核oops,下面的0xac / 0x2b8是什么意思?另外,如何在函数所在的文件中获取行号?这是ARM拱门上的linux。
PC位于get_next_timer_interrupt + 0xac / 0x2b8
答案 0 :(得分:4)
内核可能需要启用各种调试选项,但“addr2line”应该为您提供地址的文件名和行号。 http://elinux.org/Addr2line_for_kernel_debugging
答案 1 :(得分:3)
这意味着在get_next_timer_interrupt+0xac
地址发生了异常。 0xac
是get_next_timer_interrupt
过程中的偏移量。 0x2b8
表示异常发生的过程有多长(get_next_timer_interrupt
)。
您可以使用addr2line
解析它,如skorgon所写,或使用objdump
命令反汇编Linux内核并在内核源代码中找到有问题的行。当然,Linux内核必须使用调试符号进行编译。