Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
堆栈在oops消息中的含义是什么?_Oop_Kernel - Fatal编程技术网

堆栈在oops消息中的含义是什么?

堆栈在oops消息中的含义是什么?,oop,kernel,Oop,Kernel,我正在学习Linux设备驱动程序 有一章是关于OOPS消息的,其中有一个堆栈部分 我不理解堆叠区域中的数字;我在谷歌上搜索,没有找到答案 有人能解释一下吗 EIP: 0010:[<00000000>] Unable to handle kernel paging request at virtual address ffffffff printing eip: ffffffff Oops: 0000 [#5] SMP CPU: 0 EIP: 0060:[<ffffffff&g

我正在学习Linux设备驱动程序

有一章是关于OOPS消息的,其中有一个堆栈部分

我不理解堆叠区域中的数字;我在谷歌上搜索,没有找到答案

有人能解释一下吗

EIP: 0010:[<00000000>]
Unable to handle kernel paging request at virtual address ffffffff
 printing eip:
ffffffff
Oops: 0000 [#5]
SMP
CPU: 0
EIP: 0060:[<ffffffff>] Not tainted
EFLAGS: 00010296 (2.6.6)
EIP is at 0xffffffff
eax: 0000000c ebx: ffffffff ecx: 00000000 edx: bfffda7c
esi: cf434f00 edi: ffffffff ebp: 00002000 esp: c27fff78
ds: 007b es: 007b ss: 0068
Process head (pid: 2331, threadinfo=c27fe000 task=c3226150)
Stack: ffffffff bfffda70 00002000 cf434f20 00000001 00000286 cf434f00 fffffff7
 bfffda70 c27fe000 c0150612 cf434f00 bfffda70 00002000 cf434f20 00000000
 00000003 00002000 c0103f8f 00000003 bfffda70 00002000 00002000 bfffda70
Call Trace:
 [<c0150612>] sys_read+0x42/0x70
 [<c0103f8f>] syscall_call+0x7/0xb
Code: Bad EIP value.
EIP:0010:[]
无法在虚拟地址FFFFFF处处理内核分页请求
打印eip:
ffffffff
Oops:0000[5]
开关电源
中央处理器:0
EIP:0060:[]未受污染
EFLAGS:00010296(2.6.6)
EIP位于0xffffffff
eax:0000000 C ebx:ffffffff ecx:00000000 edx:bfffda7c
esi:cf434f00 edi:ffffffff ebp:00002000 esp:c27fff78
ds:007b es:007b ss:0068
进程头(pid:2331,threadinfo=c27fe000任务=c3226150)
堆栈:ffffffff bfffda70 000020000 cf434f20 00000001 00000286 cf434f00 FFFFFFF 7
bfffda70 c27fe000 c0150612 cf434f00 bfffda70 000020000 cf434f20 00000000
0000000 3 000020000 c0103f8f 0000000 3 bfffda70 000020000 000020000 bfffda70
呼叫跟踪:
[]系统读取+0x42/0x70
[]系统调用\u调用+0x7/0xb
代码:错误的EIP值。
谢谢Tsyvarev, 他说堆栈后的内容:是ESP指向的内容


这应该是堆栈帧,通过查看它们,特别是地址模式,我们可以得到当EIP无效时oops发生在哪里的线索。

stack:
下面,您可以看到从堆栈指针开始的第一个内存字节的内容(
esp
)。每个数字一次代表几个字节(在x86-4字节上)。我明白了,ESP的内容!非常感谢。