Linux内核崩溃转存,linux – 在内核崩溃转储期间分析CPU寄存器

我正在调试一个问题并点击下面的内核崩溃以及生成的故障转储.在某种程度上,我知道,如何使用gdb(l *(debug_fucntion 0x19))命令到达发生问题的代码中的确切行.

<1>BUG: unable to handle kernel paging request at ffffc90028213000

<1>IP: [] debug_fucntion+0x19/0x160 [dise]

<4>PGD 103febe067 PUD 103febf067 PMD fd54e1067 PTE 0

<4>Oops: 0000 [#1] SMP

<4>last sysfs file: /sys/kernel/mm/ksm/run

<4>CPU 7

<4>Modules linked in: dise(P)(U) ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat xt_CHECKSUM iptable_mangle bridge autofs4 8021q garp stp llc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 vhost_net macvtap macvlan tun kvm uinput ipmi_devintf power_meter microcode iTCO_wdt iTCO_vendor_support dcdbas sg ses enclosure serio_raw lpc_ich mfd_core i7core_edac edac_core bnx2 ext4 jbd2 mbcache sr_mod cdrom sd_mod crc_t10dif pata_acpi ata_generic ata_piix megaraid_sas dm_mirror dm_region_hash dm_log dm_mod [last unloaded: dise]

<4>

<4>Pid: 1126, comm: diseproc Tainted: P W --------------- 2.6.32-431.el6.x86_64 #1 Dell Inc. PowerEdge R710/0MD99X

<4>RIP: 0010:[] [] debug_fucntion+0x19/0x160 [dise]

<4>RSP: 0018:ffff880435fc5b88 EFLAGS: 00010282

<4>RAX: 0000000000000000 RBX: 0000000000010000 RCX: ffffc90028213000

<4>RDX: 0000000000010040 RSI: 0000000000010000 RDI: ffff880fe36a0000

<4>RBP: ffff880435fc5b88 R08: ffffffffa025d8a3 R09: 0000000000000000

<4>R10: 0000000000000004 R11: 0000000000000004 R12: 0000000000010040

<4>R13: 000000000000b101 R14: ffffc90028213010 R15: ffff880fe36a0000

<4>FS: 00007fbe6040b700(0000) GS:ffff8800618e0000(0000) knlGS:0000000000000000

<4>CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b

<4>CR2: ffffc90028213000 CR3: 0000000fc965b000 CR4: 00000000000007e0

<4>DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000

<4>DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400

<4>Process diseproc (pid: 1126, threadinfo ffff880435fc4000, task ffff8807f8be8ae0)

<4>Stack:

<4> ffff880435fc5be8 ffffffffa0180498 0000000081158f46 00000c200000fd26

<4> ffffc90028162000 0000fec635fc5bc8 0000000000000018 ffff881011d80000

<4> ffffc90028162000 ffff8802f18fe440 ffff880fc80b4000 ffff880435fc5cec

<4>Call Trace:

<4> [] cmd_dump+0x1c8/0x360 [dise]

<4> [] debug_log_show+0x91/0x160 [dise]

<4> [] process_debug+0x5a9/0x990 [dise]

<4> [] ? current_fs_time+0x27/0x30

<4> [] dise_ioctl+0xd8/0x300 [dise]

<4> [] ? hotplug_hrtick+0x21/0x60

<4> [] vfs_ioctl+0x22/0xa0

<4> [] do_vfs_ioctl+0x84/0x580

<4> [] sys_ioctl+0x81/0xa0

<4> [] ? __audit_syscall_exit+0x25e/0x290

<4> [] system_call_fastpath+0x16/0x1b

<4>Code: be c4 10 e1 48 8b 5d d8 44 01 f0 4c 8b 65 e0 4c 8b 6d e8 4c 8b 75 f0 4c 8b 7d f8 c9 c3 0f 1f 44 00 00 55 48 89 e5 0f 1f 44 00 00 <48> 8b 01 48 c1 e8 3c 83 f8 08 76 0b e8 f6 fb ff ff c9 c3 0f 1f

<1>RIP [] debug_fucntion+0x19/0x160 [dise]

<4> RSP

<4>CR2: ffffc90028213000

我的问题是

> CPU注册打印的内容可以提供更多信息吗?我如何解码它们?

>我可以从崩溃转储中了解导致崩溃的变量值或数据结构值吗?

>“代码:c4 10 e1 48 8b 5d ……”在这里告诉我什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值