[    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. 习题:codevs 1519 过路费 解题报告

    今天拿了这道题目练练手,感觉自己代码能力又增强了不少: 我的思路跟别人可能不一样. 首先我们很容易就能看出,我们需要的边就是最小生成树算法kruskal算法求出来的边,其余的边都可以删掉,于是就有了这 ...

  2. Android APP测试的日志文件抓取

         1    log文件分类简介 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志 状态信息的有: ...

  3. ServletContext与网站计数器

    什么是ServletContext? ServletContext是服务器的一个公用的空间,是不同的浏览器共享的一个数据. 由图可以看出ServletContext和Cookie与session之间的 ...

  4. SNMPv3/pygal制图/smtplib发邮件

    SNMPv3 SNMPv3在路由器端的配置 这个我都没配置过,还得现学现卖这个链接说的是SNMPv3的基本配置 这个链接说的是SNMPv3的view命令,用于管理员可以看到哪些层级的内容 1) 配置 ...

  5. js改变css样式的三种方法

    共用代码: <div id="div">this is a div</div> var div=document.getElementById('div') ...

  6. Croppic – 免费开源的 jQuery 图片裁剪插件

    Croppic 这款开源的 jQuery 图片裁剪插件能够满足网站开发人员各种不同的使用需要.只需要简单的上传图片,就可以实现你想要的图像缩放和裁剪功能.因为使用了 HTML5 FormData  对 ...

  7. sDashboard:简单的,轻量级的 jQuery 仪表板插件

    sDashboard 是一个轻量的仪表板 jQuery 插件,转换一个对象数组到仪表板.数组中的每个对象将被呈现为一个仪表板组件,可以通过左右拖 ​动重新排列. sDashboards 内置渲染 Da ...

  8. Clipboard.js – 现代方式实现复制文本到剪贴板

    复制文本到剪贴板应该并不难,目前已经有很成熟的 Flash 方法.但是 Flash 已经在很多场合不适用了,特别是随着 HTML5 技术的发展.今天推荐的这个 Clipboard.js 库不依赖 Fl ...

  9. Ubuntu 各版本代号简介

    起名字是件伤脑筋的事,但是程序猿们似乎最喜欢干伤脑筋的活.Android 的每个版本都有个甜点的别名,而 Ubuntu ,每个版本都有一个更为特色的名字,这个名字由一个形容词和一个动物名称组成,并且, ...

  10. js异步方式

    node.js的例子 1.回调 创建 main.js 文件 var fs = require("fs"); fs.readFile('input.txt','utf8', func ...