• Crash使用参考


    整理自man 8 crash

    1、简介

    Crash工具可以用来分析一个正在运行的内核,也可以用来分析一个内核的crash dump文件,这里说的是内核代码异常产生的crash dump文件,不是应用层程序运行异常产生的core dump文件,它支持分析由netdump, diskdump, LKCD, kdump, xen‐dump 或者 kvmdump 工具产生的crash dump文件。它整合了SVR4 UNIX crash的工具和GDB调试器,因而具有源码级别调试能力。Crash工具可以用来分析内核的调用堆栈,内核源码的反汇编,内核数据结构和变量的格式化展示等等,另外Crash也可以传递一些GDB命令来执行。在初始化的过程中,

    $HOME/.crashrc 文件中的命令和当前目录下的./.crashrc文件中的命令将会被执行。 Crash工具后向兼容,当内核版本变化导致Crash工具更新后后仍然会兼容以前的内核版本。

    2、启动命令行

           crash [OPTION]... NAMELIST MEMORY-IMAGE[@ADDRESS]    (用来分析dumpfile文件)

           crash [OPTION]... [NAMELIST]                         (用来分析正在运行的系统)

    NAMELIST:这个是未压缩的内核镜像文件(vmlinux)的路径,在用来分析dumpfile文件的时候也可以使用gzip或者bzip2压缩后的vmlinux文件。

    MEMORY-IMAGE[@ADDRESS]:由netdump, diskdump, LKCD, kdump, xen‐dump 或者 kvmdump 工具产生的crash dump文件的路径,如果运行Crash工具没有输入这个参数的话,那么Crash工具将会用来分析正在运行的linux内核,分析正在运行的内核需要访问系统的RAM,一般是需要root权限的。分析live system的时候,默认情况下/dev/crash将会被使用,如果这个文件不存在,然后会使用/dev/mem,但是如果kernel被配置为CONFIG_STRICT_DEVMEM,那么/proc/kcore将会被使用,也可以显式的指定/dev/crash、/dev/mem 、 /proc/kcore。

    分析live system的时候,不指定NAMELIST场景下,crash也会从一些默认目录查找对应的NAMELIST,如果找到的和正在运行的不匹配,没那么会提示如下错误crash: invalid kernel virtual address:

    如果dumpfile里面没有描述文件内容的头信息,即原始RAM的dumpfile文件,那么对应块的物理起始地址需要通过@ADDRESS以16进制指定,这将会在/var/tmp目录下创建临时的ELF信息。这种场景下可以通过MEMORY-IMAGE@ADDRESS指定多个dumofile文件。

    可以看到如果要用来分析内核的core dump文件,那么必须输入NAMELIST MEMORY-IMAGE这两个参数。而如果用来分析正在运行的linux系统的话,如果内核的vmlinux没有在固定的位置(如/boot),那么NAMELIST参数也需要指定。

    3、相关选项

    mapfile:当分析正在运行的内核的时候,如果NAMELIST文件与当前正在运行的内核不一致,或者分析dumpfile的时候,NAMELIST与产生dumpfile的内核不一致,那么原始内核的System.map文件需要在命令行指定。

    -h [option]/--help [option]:不带有option的时候,展示crash工具的帮助,如果option是carsh工具的命令名字,那么会展示对应的帮助。另外option也可以是"input"、"output"或者"all"。

    -s:静默处理到"crash>" ,不会展示版本信息、初始化过程等。

    -i file:在展示"crash>"之前,执行file文件中的命令

    -d num:设置debug level,数值越高,crash在初始化和运行的时候就会展示越多的信息

    -S:使用 /boot/System.map 作为mapfile

    -t:展示系统crash的事件戳并推出

     -c tty-device:使用tty-device作为调试信息的控制台

    -p page-size:如果处理器的分页大小不能通过dumpfile判断出来,并且不能使用处理器的默认值,那么可以通过这个选项来指定

    -o filename:使用MEMORY-IMAGE@ADDRESS形式的原始RAM的dumpfile时候,这个选项可以用来创建一个独立的ELF vmcore,以备将来使用

    -x:自动的从一个指定目录加载扩展模块。环境变量CRASH_EXTENSIONS可以用来指定加载目录。

    --active:仅跟踪每个cpu上正在运行的task。

    --buildinfo:展示crash的build信息

    --memory_module modname:使用modname作为crash.ko的替代模块来创建/dev/crash设备。

    --memory_device device:使用device代替/dev/crash、/dev/mem或者/proc/kcore。

    --smp:指定分析的系统是smp内核

    -v:展示crash的版本信息

    --cpus number:指定smp系统的cpu数目

    --more/--less:指定输出工具

    --hex/--dec:指定命令输出的进制

     

    4、crash命令

    crash命令分为符号展示、系统状态、实用函数和会话控制四部分。可以通过crash -h <command>来查看命令帮助,在crash会话中也可以通过help command来查看命令的帮助。

    alias:创建命令的别名

    bt:展示调用堆栈信息,-a选项可以显示所有cpu上的调用堆栈。foreach bt可以显示所有task的调用堆栈

    dev:展示字符设备和块设备的分配、I/O端口使用和I/O内存使用情况,这个命令可以用来查看每个设备对应的fops。

    dis:反汇编命令。-f可以从函数的开始处开始展示汇编命令到指定的地址,-f可以从指定地址展示到函数的结尾。-l可以展示源代码行。-s可以显示对应的源代码,count可以指定显示的行数。

    eval:计算表达式并展示结果。

    q/exit:退出crash

    foreach:为指定的task重复一个指定的命令。

    ipcs:展示System V IPC信息

    irq:展示irq信息

    kmem:展示内核内存使用

    list:展示一个链表的内容

    log:展示log_buf内容

    mod:展示模块信息,mod -s tcp_debug [pathtofile],命令可以用来加载tcp_debug模块的调试信息。mod -d可以用来删除模块的调试信息

    mount:展示当前挂载的文件系统的命令

    net:展示网络相关的信息

    p:传递参数给gdb的print命令来展示相关信息。

    gdb:传递参数给内嵌的GDB模块,当crash和gdb命令名字冲突的时候可以使用。

    ps:展示进程状态

    rd:读取并展示内存

    repeat:无限重复一个命令,可以给定一个命令执行的间隔

    runq:展示runq上的task

    search:在一段内存范围内搜索给定值

    set:设置或者获取上下文。可以根据pid、task_struct等来进行设置。

    sig:展示task的signal-handling数据

    struct:展示结构体的定义,或者从指定的地址开始解析一个结构体。使用-o参数可以显示结构体的详细偏移信息。

    swap:展示swap信息

    sys:展示系统信息

    task:展示task_struct内容

    tree:展示rb树或者radix树的信息

    timer:展示定时器信息。

    union:与struct类似,但是用于union的展示

    whatis:展示结构体、联合体等定义

    waitq:展示等待队列的内容

    wr:修改一个正在运行的系统的内存,只有使用/dev/mem的时候才能修改。

    1. root@Inspiron:/home/lybxin# crash /doc/ubuntu-compile/vmlinux /var/crash/201610291840/dump.201610291840
    2. crash 7.1.4
    3. Copyright(C)2002-2015  RedHat,Inc.
    4. Copyright(C)2004,2005,2006,2010  IBM Corporation
    5. Copyright(C)1999-2006  Hewlett-PackardCo
    6. Copyright(C)2005,2006,2011,2012  FujitsuLimited
    7. Copyright(C)2006,2007  VA LinuxSystemsJapan K.K.
    8. Copyright(C)2005,2011  NEC Corporation
    9. Copyright(C)1999,2002,2007  SiliconGraphics,Inc.
    10. Copyright(C)1999,2000,2001,2002  MissionCriticalLinux,Inc.
    11. This program is free software, covered by the GNU GeneralPublicLicense,
    12. and you are welcome to change it and/or distribute copies of it under
    13. certain conditions.  Enter"help copying" to see the conditions.
    14. This program has absolutely no warranty.  Enter"help warranty"for details.
    15. GNU gdb (GDB)7.6
    16. Copyright(C)2013FreeSoftwareFoundation,Inc.
    17. LicenseGPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    18. This is free software: you are free to change and redistribute it.
    19. There is NO WARRANTY, to the extent permitted by law.  Type"show copying"
    20. and "show warranty"for details.
    21. This GDB was configured as "x86_64-unknown-linux-gnu"...
    22.      KERNEL:/doc/ubuntu-compile/vmlinux      
    23.    DUMPFILE:/var/crash/201610291840/dump.201610291840  [PARTIAL DUMP]
    24.        CPUS:4
    25.        DATE:SatOct2918:40:252016
    26.      UPTIME:01:21:59
    27. LOAD AVERAGE:0.39,0.50,0.50
    28.       TASKS:643
    29.    NODENAME:Inspiron
    30.     RELEASE:4.4.13+
    31.     VERSION:#35 SMP Fri Oct 28 23:13:30 CST 2016
    32.     MACHINE: x86_64  (2526Mhz)
    33.      MEMORY:3.9 GB
    34.       PANIC:"general protection fault: 0000 [#1] SMP "
    35.         PID:5792
    36.     COMMAND:"server.out"
    37.        TASK: ffff880013531900  [THREAD_INFO: ffff8800121ac000]
    38.         CPU:3
    39.       STATE:  (PANIC)
    40. crash> bt
    41. PID:5792   TASK: ffff880013531900  CPU:3   COMMAND:"server.out"
    42. #0 [ffff880137d839b0] machine_kexec at ffffffff8105ae6b
    43. #1 [ffff880137d83a10] crash_kexec at ffffffff8110cb12
    44. #2 [ffff880137d83ae0] oops_end at ffffffff81030c29
    45. #3 [ffff880137d83b08] die at ffffffff810310db
    46. #4 [ffff880137d83b38] do_general_protection at ffffffff8102e5d9
    47. #5 [ffff880137d83b60] general_protection at ffffffff81832118
    48.    [exception RIP: tcp_v4_rcv+2735]
    49.    RIP: ffffffff8178920f  RSP: ffff880137d83c18  RFLAGS:00010282
    50.    RAX:6601a8c0647c770e  RBX: ffff880131d04ae8  RCX:0000000000000006
    51.    RDX:0000000000000000  RSI: ffff880013531900  RDI: ffff880137d8dc78
    52.    RBP: ffff880137d83c98   R8:000000000000000a   R9:0000000000000413
    53.    R10:000000000000c5c0  R11:0000000000000413  R12: ffffffff81ef3e80
    54.    R13: ffff8800ba0e4690  R14: ffff8800b7cde4fc  R15: ffff8800b7cde510
    55.    ORIG_RAX: ffffffffffffffff  CS:0010  SS:0018
    56. #6 [ffff880137d83c10] tcp_v4_rcv at ffffffff817892a9
    57. #7 [ffff880137d83ca0] ip_local_deliver_finish at ffffffff8175fdc4
    58. #8 [ffff880137d83cc8] ip_local_deliver at ffffffff817600cf
    59. #9 [ffff880137d83d30] ip_rcv_finish at ffffffff8175faa2
    60. #10 [ffff880137d83d60] ip_rcv at ffffffff817603d1
    61. #11 [ffff880137d83dd8] __netif_receive_skb_core at ffffffff81721944
    62. #12 [ffff880137d83e70] __netif_receive_skb at ffffffff81721cb8
    63. #13 [ffff880137d83e90] process_backlog at ffffffff81722ab8
    64. -- MORE --  forward:<SPACE>,<ENTER> or j  backward: b or k  quit: q...skipping...
    65. PID:5792   TASK: ffff880013531900  CPU:3   COMMAND:"server.out"
    66. #0 [ffff880137d839b0] machine_kexec at ffffffff8105ae6b
    67. #1 [ffff880137d83a10] crash_kexec at ffffffff8110cb12
    68. #2 [ffff880137d83ae0] oops_end at ffffffff81030c29
    69. #3 [ffff880137d83b08] die at ffffffff810310db
    70. #4 [ffff880137d83b38] do_general_protection at ffffffff8102e5d9
    71. #5 [ffff880137d83b60] general_protection at ffffffff81832118
    72.    [exception RIP: tcp_v4_rcv+2735]
    73.    RIP: ffffffff8178920f  RSP: ffff880137d83c18  RFLAGS:00010282
    74.    RAX:6601a8c0647c770e  RBX: ffff880131d04ae8  RCX:0000000000000006
    75.    RDX:0000000000000000  RSI: ffff880013531900  RDI: ffff880137d8dc78
    76.    RBP: ffff880137d83c98   R8:000000000000000a   R9:0000000000000413
    77.    R10:000000000000c5c0  R11:0000000000000413  R12: ffffffff81ef3e80
    78.    R13: ffff8800ba0e4690  R14: ffff8800b7cde4fc  R15: ffff8800b7cde510
    79.    ORIG_RAX: ffffffffffffffff  CS:0010  SS:0018
    80. #6 [ffff880137d83c10] tcp_v4_rcv at ffffffff817892a9
    81. #7 [ffff880137d83ca0] ip_local_deliver_finish at ffffffff8175fdc4
    82. #8 [ffff880137d83cc8] ip_local_deliver at ffffffff817600cf
    83. #9 [ffff880137d83d30] ip_rcv_finish at ffffffff8175faa2
    84. #10 [ffff880137d83d60] ip_rcv at ffffffff817603d1
    85. #11 [ffff880137d83dd8] __netif_receive_skb_core at ffffffff81721944
    86. #12 [ffff880137d83e70] __netif_receive_skb at ffffffff81721cb8
    87. #13 [ffff880137d83e90] process_backlog at ffffffff81722ab8
    88. #14 [ffff880137d83ed0] net_rx_action at ffffffff817221fe
    89. -- MORE --  forward:<SPACE>,<ENTER> or j  backward: b or k  quit: q...skipping...
    90. PID:5792   TASK: ffff880013531900  CPU:3   COMMAND:"server.out"
    91. #0 [ffff880137d839b0] machine_kexec at ffffffff8105ae6b
    92. #1 [ffff880137d83a10] crash_kexec at ffffffff8110cb12
    93. #2 [ffff880137d83ae0] oops_end at ffffffff81030c29
    94. #3 [ffff880137d83b08] die at ffffffff810310db
    95. #4 [ffff880137d83b38] do_general_protection at ffffffff8102e5d9
    96. #5 [ffff880137d83b60] general_protection at ffffffff81832118
    97.    [exception RIP: tcp_v4_rcv+2735]
    98.    RIP: ffffffff8178920f  RSP: ffff880137d83c18  RFLAGS:00010282
    99.    RAX:6601a8c0647c770e  RBX: ffff880131d04ae8  RCX:0000000000000006
    100.    RDX:0000000000000000  RSI: ffff880013531900  RDI: ffff880137d8dc78
    101.    RBP: ffff880137d83c98   R8:000000000000000a   R9:0000000000000413
    102.    R10:000000000000c5c0  R11:0000000000000413  R12: ffffffff81ef3e80
    103.    R13: ffff8800ba0e4690  R14: ffff8800b7cde4fc  R15: ffff8800b7cde510
    104.    ORIG_RAX: ffffffffffffffff  CS:0010  SS:0018
    105. #6 [ffff880137d83c10] tcp_v4_rcv at ffffffff817892a9
    106. #7 [ffff880137d83ca0] ip_local_deliver_finish at ffffffff8175fdc4
    107. #8 [ffff880137d83cc8] ip_local_deliver at ffffffff817600cf
    108. #9 [ffff880137d83d30] ip_rcv_finish at ffffffff8175faa2
    109. #10 [ffff880137d83d60] ip_rcv at ffffffff817603d1
    110. #11 [ffff880137d83dd8] __netif_receive_skb_core at ffffffff81721944
    111. #12 [ffff880137d83e70] __netif_receive_skb at ffffffff81721cb8
    112. #13 [ffff880137d83e90] process_backlog at ffffffff81722ab8
    113. #14 [ffff880137d83ed0] net_rx_action at ffffffff817221fe
    114. #15 [ffff880137d83f48] __do_softirq at ffffffff81084a41
    115. -- MORE --  forward:<SPACE>,<ENTER> or j  backward: b or k  quit: q...skipping...
    116. PID:5792   TASK: ffff880013531900  CPU:3   COMMAND:"server.out"
    117. #0 [ffff880137d839b0] machine_kexec at ffffffff8105ae6b
    118. #1 [ffff880137d83a10] crash_kexec at ffffffff8110cb12
    119. #2 [ffff880137d83ae0] oops_end at ffffffff81030c29
    120. #3 [ffff880137d83b08] die at ffffffff810310db
    121. #4 [ffff880137d83b38] do_general_protection at ffffffff8102e5d9
    122. #5 [ffff880137d83b60] general_protection at ffffffff81832118
    123.    [exception RIP: tcp_v4_rcv+2735]
    124.    RIP: ffffffff8178920f  RSP: ffff880137d83c18  RFLAGS:00010282
    125.    RAX:6601a8c0647c770e  RBX: ffff880131d04ae8  RCX:0000000000000006
    126.    RDX:0000000000000000  RSI: ffff880013531900  RDI: ffff880137d8dc78
    127.    RBP: ffff880137d83c98   R8:000000000000000a   R9:0000000000000413
    128.    R10:000000000000c5c0  R11:0000000000000413  R12: ffffffff81ef3e80
    129.    R13: ffff8800ba0e4690  R14: ffff8800b7cde4fc  R15: ffff8800b7cde510
    130.    ORIG_RAX: ffffffffffffffff  CS:0010  SS:0018
    131. #6 [ffff880137d83c10] tcp_v4_rcv at ffffffff817892a9
    132. #7 [ffff880137d83ca0] ip_local_deliver_finish at ffffffff8175fdc4
    133. #8 [ffff880137d83cc8] ip_local_deliver at ffffffff817600cf
    134. #9 [ffff880137d83d30] ip_rcv_finish at ffffffff8175faa2
    135. #10 [ffff880137d83d60] ip_rcv at ffffffff817603d1
    136. #11 [ffff880137d83dd8] __netif_receive_skb_core at ffffffff81721944
    137. #12 [ffff880137d83e70] __netif_receive_skb at ffffffff81721cb8
    138. #13 [ffff880137d83e90] process_backlog at ffffffff81722ab8
    139. #14 [ffff880137d83ed0] net_rx_action at ffffffff817221fe
    140. #15 [ffff880137d83f48] __do_softirq at ffffffff81084a41
    141. #16 [ffff880137d83fb0] do_softirq_own_stack at ffffffff81831d0c
    142. -- MORE --  forward:<SPACE>,<ENTER> or j  backward: b or k  quit: q...skipping...
    143. PID:5792   TASK: ffff880013531900  CPU:3   COMMAND:"server.out"
    144. #0 [ffff880137d839b0] machine_kexec at ffffffff8105ae6b
    145. #1 [ffff880137d83a10] crash_kexec at ffffffff8110cb12
    146. #2 [ffff880137d83ae0] oops_end at ffffffff81030c29
    147. #3 [ffff880137d83b08] die at ffffffff810310db
    148. #4 [ffff880137d83b38] do_general_protection at ffffffff8102e5d9
    149. #5 [ffff880137d83b60] general_protection at ffffffff81832118
    150.    [exception RIP: tcp_v4_rcv+2735]
    151.    RIP: ffffffff8178920f  RSP: ffff880137d83c18  RFLAGS:00010282
    152.    RAX:6601a8c0647c770e  RBX: ffff880131d04ae8  RCX:0000000000000006
    153.    RDX:0000000000000000  RSI: ffff880013531900  RDI: ffff880137d8dc78
    154.    RBP: ffff880137d83c98   R8:000000000000000a   R9:0000000000000413
    155.    R10:000000000000c5c0  R11:0000000000000413  R12: ffffffff81ef3e80
    156.    R13: ffff8800ba0e4690  R14: ffff8800b7cde4fc  R15: ffff8800b7cde510
    157.    ORIG_RAX: ffffffffffffffff  CS:0010  SS:0018
    158. #6 [ffff880137d83c10] tcp_v4_rcv at ffffffff817892a9
    159. #7 [ffff880137d83ca0] ip_local_deliver_finish at ffffffff8175fdc4
    160. #8 [ffff880137d83cc8] ip_local_deliver at ffffffff817600cf
    161. #9 [ffff880137d83d30] ip_rcv_finish at ffffffff8175faa2
    162. #10 [ffff880137d83d60] ip_rcv at ffffffff817603d1
    163. #11 [ffff880137d83dd8] __netif_receive_skb_core at ffffffff81721944
    164. #12 [ffff880137d83e70] __netif_receive_skb at ffffffff81721cb8
    165. #13 [ffff880137d83e90] process_backlog at ffffffff81722ab8
    166. #14 [ffff880137d83ed0] net_rx_action at ffffffff817221fe
    167. #15 [ffff880137d83f48] __do_softirq at ffffffff81084a41
    168. #16 [ffff880137d83fb0] do_softirq_own_stack at ffffffff81831d0c
    169. ---<IRQ stack>---
    170. -- MORE --  forward:<SPACE>,<ENTER> or j  backward: b or k  quit: q...skipping...
    171. PID:5792   TASK: ffff880013531900  CPU:3   COMMAND:"server.out"
    172. #0 [ffff880137d839b0] machine_kexec at ffffffff8105ae6b
    173. #1 [ffff880137d83a10] crash_kexec at ffffffff8110cb12
    174. #2 [ffff880137d83ae0] oops_end at ffffffff81030c29
    175. #3 [ffff880137d83b08] die at ffffffff810310db
    176. #4 [ffff880137d83b38] do_general_protection at ffffffff8102e5d9
    177. #5 [ffff880137d83b60] general_protection at ffffffff81832118
    178.    [exception RIP: tcp_v4_rcv+2735]
    179.    RIP: ffffffff8178920f  RSP: ffff880137d83c18  RFLAGS:00010282
    180.    RAX:6601a8c0647c770e  RBX: ffff880131d04ae8  RCX:0000000000000006
    181.    RDX:0000000000000000  RSI: ffff880013531900  RDI: ffff880137d8dc78
    182.    RBP: ffff880137d83c98   R8:000000000000000a   R9:0000000000000413
    183.    R10:000000000000c5c0  R11:0000000000000413  R12: ffffffff81ef3e80
    184.    R13: ffff8800ba0e4690  R14: ffff8800b7cde4fc  R15: ffff8800b7cde510
    185.    ORIG_RAX: ffffffffffffffff  CS:0010  SS:0018
    186. #6 [ffff880137d83c10] tcp_v4_rcv at ffffffff817892a9
    187. #7 [ffff880137d83ca0] ip_local_deliver_finish at ffffffff8175fdc4
    188. #8 [ffff880137d83cc8] ip_local_deliver at ffffffff817600cf
    189. #9 [ffff880137d83d30] ip_rcv_finish at ffffffff8175faa2
    190. #10 [ffff880137d83d60] ip_rcv at ffffffff817603d1
    191. #11 [ffff880137d83dd8] __netif_receive_skb_core at ffffffff81721944
    192. #12 [ffff880137d83e70] __netif_receive_skb at ffffffff81721cb8
    193. #13 [ffff880137d83e90] process_backlog at ffffffff81722ab8
    194. #14 [ffff880137d83ed0] net_rx_action at ffffffff817221fe
    195. #15 [ffff880137d83f48] __do_softirq at ffffffff81084a41
    196. #16 [ffff880137d83fb0] do_softirq_own_stack at ffffffff81831d0c
    197. ---<IRQ stack>---
    198. #17 [ffff8800121af888] do_softirq_own_stack at ffffffff81831d0c
    199. -- MORE --  forward:<SPACE>,<ENTER> or j  backward: b or k  quit: q...skipping...
    200. PID:5792   TASK: ffff880013531900  CPU:3   COMMAND:"server.out"
    201. #0 [ffff880137d839b0] machine_kexec at ffffffff8105ae6b
    202. #1 [ffff880137d83a10] crash_kexec at ffffffff8110cb12
    203. #2 [ffff880137d83ae0] oops_end at ffffffff81030c29
    204. #3 [ffff880137d83b08] die at ffffffff810310db
    205. #4 [ffff880137d83b38] do_general_protection at ffffffff8102e5d9
    206. #5 [ffff880137d83b60] general_protection at ffffffff81832118
    207.    [exception RIP: tcp_v4_rcv+2735]
    208.    RIP: ffffffff8178920f  RSP: ffff880137d83c18  RFLAGS:00010282
    209.    RAX:6601a8c0647c770e  RBX: ffff880131d04ae8  RCX:0000000000000006
    210.    RDX:0000000000000000  RSI: ffff880013531900  RDI: ffff880137d8dc78
    211.    RBP: ffff880137d83c98   R8:000000000000000a   R9:0000000000000413
    212.    R10:000000000000c5c0  R11:0000000000000413  R12: ffffffff81ef3e80
    213.    R13: ffff8800ba0e4690  R14: ffff8800b7cde4fc  R15: ffff8800b7cde510
    214.    ORIG_RAX: ffffffffffffffff  CS:0010  SS:0018
    215. #6 [ffff880137d83c10] tcp_v4_rcv at ffffffff817892a9
    216. #7 [ffff880137d83ca0] ip_local_deliver_finish at ffffffff8175fdc4
    217. #8 [ffff880137d83cc8] ip_local_deliver at ffffffff817600cf
    218. #9 [ffff880137d83d30] ip_rcv_finish at ffffffff8175faa2
    219. #10 [ffff880137d83d60] ip_rcv at ffffffff817603d1
    220. #11 [ffff880137d83dd8] __netif_receive_skb_core at ffffffff81721944
    221. #12 [ffff880137d83e70] __netif_receive_skb at ffffffff81721cb8
    222. #13 [ffff880137d83e90] process_backlog at ffffffff81722ab8
    223. #14 [ffff880137d83ed0] net_rx_action at ffffffff817221fe
    224. #15 [ffff880137d83f48] __do_softirq at ffffffff81084a41
    225. #16 [ffff880137d83fb0] do_softirq_own_stack at ffffffff81831d0c
    226. ---<IRQ stack>---
    227. #17 [ffff8800121af888] do_softirq_own_stack at ffffffff81831d0c
    228.    [exception RIP: unknown or invalid address]
    229.    RIP:0000000088c26cce  RSP: ffffffff81ef3e80  RFLAGS: ffff880131d04ae8
    230.    RAX:0000000000000000  RBX: ffff8800121af8c8  RCX: ffff8800121af940
    231.    RDX: ffffffff81764479  RSI:0202020000000001  RDI:0000000000000246
    232.    RBP: ffff880132960e00   R8: ffffffff8108450d   R9: ffff8800121af8e0
    233.    R10:00000000fffffe01  R11: ffffffff81084488  R12:0000000088c26cce
    234.    R13:0000000000000001  R14: ffffffff811ad08c  R15: ffffffff81724156
    235.    ORIG_RAX:0100007f00000000  CS:2000200  SS: ffff8800b81b2d00
    236. bt: WARNING: possibly bogus exception frame
    237. #18 [ffff8800121af948] ip_finish_output at ffffffff81765406
    238. #19 [ffff8800121af988] ip_output at ffffffff81765dfe
    239. #20 [ffff8800121af9f8] ip_local_out at ffffffff817655c5
    240. #21 [ffff8800121afa20] ip_queue_xmit at ffffffff817658e4
    241. #22 [ffff8800121afa60] tcp_transmit_skb at ffffffff8177f25f
    242. #23 [ffff8800121afaf8] tcp_write_xmit at ffffffff8177f925
    243. #24 [ffff8800121afb78] __tcp_push_pending_frames at ffffffff81780c43
    244. #25 [ffff8800121afba0] tcp_send_fin at ffffffff817827c8
    245. #26 [ffff8800121afbd0] tcp_close at ffffffff817729e2
    246. #27 [ffff8800121afc00] inet_release at ffffffff8179de0c
    247. #28 [ffff8800121afc20] sock_release at ffffffff8170399f
    248. #29 [ffff8800121afc40] sock_close at ffffffff81703a12
    249. #30 [ffff8800121afc50] __fput at ffffffff8120da14
    250. #31 [ffff8800121afc98] ____fput at ffffffff8120db8e
    251. #32 [ffff8800121afca8] task_work_run at ffffffff8109da8f
    252. #33 [ffff8800121afcd8] do_exit at ffffffff81082c37
    253. #34 [ffff8800121afd48] do_group_exit at ffffffff810834c3
    254. #35 [ffff8800121afd78] get_signal at ffffffff8108f672
    255. #36 [ffff8800121afdf8] do_signal at ffffffff8102d537
    256. #37 [ffff8800121afef8] exit_to_usermode_loop at ffffffff8100320c
    257. #38 [ffff8800121aff30] syscall_return_slowpath at ffffffff81003c6e
    258. #39 [ffff8800121aff50] int_ret_from_sys_call at ffffffff81830150
    259.    RIP:00007f0aaf3f40fa  RSP:00007f0aaf2ddd40  RFLAGS:00000293
    260.    RAX: fffffffffffffdfc  RBX:0000000000000000  RCX:00007f0aaf3f40fa
    261.    RDX:00007f0aaf2ddd80  RSI:0000000000000000  RDI:0000000000000001
    262.    RBP:00007f0aaf2ddd80   R8:0000000000000000   R9:0000000000000007
    263.    R10:0000000000000000  R11:0000000000000293  R12:0000000000000000
    264.    R13:00007ffeba0f765f  R14:00007f0aaf2de9c0  R15:0000000000000000
    265.    ORIG_RAX:00000000000000e6  CS:0033  SS:002b
    266. crash>
    267. crash> dis -l tcp_v4_rcv+2735
    268. /home/lybxin/MyRes/linux-source-4.4.0/net/ipv4/tcp_ipv4.c:1663
    269. 0xffffffff8178920f<tcp_v4_rcv+2735>:   mov    0x5d0(%rax),%rdi

     





  • 相关阅读:
    剑指Offer(Java版)第四十六题:输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序。
    剑指Offer(Java版)第四十五题:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
    剑指Offer(Java版)第四十四题:输入一棵二叉树,判断该二叉树是否是平衡二叉树。
    剑指Offer(Java版)第四十三题:输入一棵二叉树,求该树的深度。 从根结点到叶结点依次经过的结点 (含根、叶结点)形成树的一条路径, 最长路径的长度为树的深度。
    剑指Offer(Java版)第四十二题:统计一个数字在排序数组中出现的次数。
    剑指Offer(Java版)第四十一题:输入两个链表,找出它们的第一个公共结点。
    剑指Offer(Java版)第四十题:在数组中的两个数字,如果前面一个数字大于后面的数字, 则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模的结果输出。 即输出P%1000000007
    剑指Offer(Java版)第三十九题:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符, 并返回它的位置, 如果没有则返回 -1(需要区分大小写).
    剑指Offer(Java版)第三十八题:把只包含质因子2、3和5的数称作丑数(Ugly Number)。 例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。 求按从小到大的顺序的第N个丑数。
    【微信支付】退款
  • 原文地址:https://www.cnblogs.com/lshs/p/6113077.html
Copyright © 2020-2023  润新知