[    1.454380] BUG: unable to handle kernel NULL pointer dereference at 00000000000005d0
[    1.474020] IP: [<ffffffff8144375b>] DSFW_rx_handle+0x1bb/0x370
[    1.487902] PGD 139c25067 PUD 135301067 PMD 0
[    1.497467] Oops: 0000 [#1] SMP
[    1.503342] Modules linked in:
[    1.508646] CPU: 0 PID: 3 Comm: ksoftirqd/0 Not tainted 3.10.52-waf #133
[    1.524811] Hardware name: To be filled by O.E.M. To be filled by O.E.M./To be filled by O.E.M., BIOS 4.6.4 01/06/2012
[    1.552962] task: ffff88013b0c0ba0 ti: ffff88013b0d4000 task.ti: ffff88013b0d4000
[    1.571471] RIP: 0010:[<ffffffff8144375b>]  [<ffffffff8144375b>] DSFW_rx_handle+0x1bb/0x370
[    1.592629] RSP: 0018:ffff88013b0d5c98  EFLAGS: 00010202
[    1.604640] RAX: 00000000fffffffe RBX: ffff8801353c4d00 RCX: 00000000001978fd
[    1.622107] RDX: 0000000000000043 RSI: ffff88012bb00180 RDI: 00000000000005a8
[    1.639575] RBP: 00000000000005a8 R08: 0000000000016d20 R09: 0000000000000000
[    1.657043] R10: 0000000000000000 R11: ffff88011d1e2e2a R12: 0000000000000001
[    1.674511] R13: 0000000000020063 R14: ffff8801378ea3d0 R15: 000000000000003e
[    1.691981] FS:  0000000000000000(0000) GS:ffff88013fa00000(0000) knlGS:0000000000000000
[    1.712308] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.725618] CR2: 00000000000005d0 CR3: 00000001353c6000 CR4: 00000000000407b0
[    1.743085] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    1.760553] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[    1.778019] Stack:
[    1.780151]  ffff8801378ea3e0 ffffc90001cc3988 ffff8801353c4d00 ffffffff812b87f6
[    1.798609]  ffff88013b008900 ffff880137e87d00 ffff880137edc680 ffff88013b0d5d64
[    1.817064]  ffffc90001cc39b0 0001397200000100 ffff880137edc000 ffffffff814435a0
[    1.835520] Call Trace:
[    1.838954]  [<ffffffff812b87f6>] ? e1000e_clean_rx_irq_nff+0x256/0xbc0
[    1.854861]  [<ffffffff814435a0>] ? DSFW_fif_recv+0x70/0x70
[    1.867650]  [<ffffffff812b91ce>] ? e1000e_poll+0x6e/0x1c0
[    1.880179]  [<ffffffff81389a68>] ? net_rx_action+0x88/0x170
[    1.893228]  [<ffffffff81037f46>] ? __do_softirq+0xd6/0x290
[    1.906015]  [<ffffffff81038129>] ? run_ksoftirqd+0x29/0x40
[    1.918806]  [<ffffffff810591d3>] ? smpboot_thread_fn+0x103/0x190
[    1.933156]  [<ffffffff810590d0>] ? lg_global_unlock+0x60/0x60
[    1.946723]  [<ffffffff81052088>] ? kthread+0xb8/0xc0
[    1.957954]  [<ffffffff81051fd0>] ? __kthread_parkme+0x80/0x80
[    1.971522]  [<ffffffff814e121c>] ? ret_from_fork+0x7c/0xb0
[    1.984311]  [<ffffffff81051fd0>] ? __kthread_parkme+0x80/0x80
[    1.997877] Code: 00 48 98 48 c1 e0 06 01 90 f0 98 9d 81 83 80 f4 98 9d 81 01 48 85 ed 75 0f eb 4d 0f 1f 44 00 00 48 85 db 74 43 48 89 dd 48 89 ef <48> 8b 5d 28 e8 6c fd ff ff 85 c0 74 e8 8b 85 d4 00 00 00 83 f8
[    2.053478] RIP  [<ffffffff8144375b>] DSFW_rx_handle+0x1bb/0x370
[    2.067594]  RSP <ffff88013b0d5c98>
[    2.074145] CR2: 00000000000005d0

例如
[    2.053478] RIP  [<ffffffff8144375b>] DSFW_rx_handle+0x1bb/0x370

ffffffff8144375b 是指令在内存中的虚拟地址
DSFW_rx_handle  是函数(symbol 名)
0x1bb/0x370 ,0x370 是这个函数编译成机器码后的长度,0x1bb是ffffffff8144375b这条指令在相对于
DSFW_rx_handle 函数入口的偏移

gdb定位

# gdb vmlinux
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/wesley/dvlp/WAF/trunk/build/linux-3.10.52/vmlinux...done.
(gdb) l *DSFW_rx_handle+0x1bb/0x370

gdb 定位 oops call trace的更多相关文章

  1. 【Z】段错误Segment Fault定位,即core dump文件与gdb定位

    使用C++开发系统有时会出现段错误,即Segment Fault.此类错误程序直接崩溃,通常没有任何有用信息输出,很难定位bug,因而无从解决问题.今天我们介绍core dump文件,并使用gdb进行 ...

  2. linux设备驱动程序第四部分:从如何定位oops对代码的调试方法,驱动线

    在一个我们谈到了如何编写一个简单的字符设备驱动程序,我们不是神,编写肯定会失败的代码,在这个过程中,我们需要继续写代码调试.在普通c应用.我们经常使用printf输出信息.或者使用gdb要调试程序,然 ...

  3. linux设备驱动第四篇:从如何定位oops的代码行谈驱动调试方法

    上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试.在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序 ...

  4. oops call trace 解析

    Call Trace: [  221.634988]  [<ffffffff8103fbc7>] ? kmld_pte_lookup+0x17/0x60 [  221.635016]  [ ...

  5. 驱动: oops

    linux驱动调试--段错误之oops信息分析 http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29401328&id= ...

  6. Understanding a Kernel Oops!

    Understanding a kernel panic and doing the forensics to trace the bug is considered a hacker's job. ...

  7. [fw]Understanding a Kernel Oops!

    An “Oops” is what the kernel throws at us when it finds something faulty, or an exception, in the ke ...

  8. 使用gdb调试Python进程

    使用gdb调试Python进程 有时我们会想调试一个正在运行的Python进程,或者一个Python进程的coredump.例如现在遇到一个mod_wsgi的进程僵死了,不接受请求,想看看究竟是运行到 ...

  9. Oracle 11g R2性能优化 SQL TRACE

    作为Oracle官方自带的一种基本性能诊断工具,SQL Trace可以用来评估当前正在运行的SQL语句的效率,同时为该语句生成统计信息等,并保存这些信息到指定路径下的跟踪文件(trace)当中.SQL ...

随机推荐

  1. CSS——4种定位

    若是没有指定定位方式,默认为静态定位. 1.静态定位(static) 静态定位会将所有元素正常流入页面. 2.绝对定位(absolute) 绝对定位将元素完全从页面流中取出,允许你为他制定一个绝对的位 ...

  2. HTML5+Activex+Singr+ABP+MongoDB

    最近在.net DDD开发领域有个炒的很火的框架叫ASP.NET Boilerplate看上去很牛逼的样子,为什么我会觉得很牛逼呢?  第一:我看不懂.  第二:关注的人多,我选框架就像进饭馆,哪家人 ...

  3. 【转】从MVC到前后端分离

    1. 理解MVC MVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器. 其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(P ...

  4. ScrollMagic – 酷毙了!超炫的页面滚动交互效果

    ScrollMagic 是一款 jQuery 插件,它让你可以像使用进度条一样使用滚动条.如果你想在特定的滚动位置开始一个动画,并且让动画同步滚动条的动作,或者把元素粘在一个特定的滚动位置,那么这款插 ...

  5. 妙用Javascript中apply、call、bind

    对apply.call.bind的认识,并且列出一些它们的妙用加深记忆.   apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(cont ...

  6. 利用Canvas实现360度浏览

    前言:最近几个月来到新公司,主要从事移动端方面的开发,有时候也挺忙挺累的,于是就好一段时间没写博客了.其实自己在这几个月里,自己对canvas以及createjs和egret都有了一定程度上的认识与掌 ...

  7. 为 MDS 修改 SharePoint 2013组件

    了解如何修改 SharePoint 项目中的组件以在 SharePoint 2013 中利用最少下载策略(MDS).   本文内容 为何修改 SharePoint 组件? 母版页 ASP.NET 页面 ...

  8. SharePoint 2013 版本号和相关问题介绍

    今天查SharePoint 补丁,无意间发现一个非常好的链接,分享给大家! 这里面有SharePoint近期的版本号,而且不断更新,还有每个补丁可能带来的问题,对于服务器经常需要打补丁的那是非常有用, ...

  9. SQLite Design and Concepts

    API 分为两大类 core API. 基本的SQL操作 extension API. 创建自定义的SQL操作. 基本数据结构 需要了解的组成部分有连接.statments.B树.pager. 为了写 ...

  10. MVP模式在Android项目中的使用

    以前在写项目的时候,没有过多考虑架构模式的问题,因为之前一直做J2EE开发,而J2EE都是采用MVC模式进行开发的,所以在搭建公司项目的时候,也是使用类似MVC的架构(严格来讲,之前的项目还算不上MV ...