[Crash-utility] Make note information human readable when help -D

"Zhou, Wenjian/周文剑" zhouwj-fnst at cn.fujitsu.com
Wed Dec 10 02:38:29 UTC 2014


Hello all,

When analysing elf format core, if "help -D" is specified, crash will
show dumpfile contents/statistics. But the output is hardly to read.
So the patches is to make it human readable.

When analysing kdump format core, if "help -D" is specified, crash won't
show the note information. The patches add note information to the output.


When analysing elf format core, if "help -D" is specified,
the original output like this:
		:
		:
Elf64_Nhdr:
                n_namesz: 5 ("CORE")
                n_descsz: 336
                  n_type: 1 (NT_PRSTATUS)
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          000000000000141d 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000004 0000000000000286
                          ffffffff81b01a40 0000000000000000
                          ffff88003d86be18 0000000000000063
                          0000000000000000 0000000000000001
                          ffffffff81645da0 0000000000000000
                          0000000000000010 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000063 ffffffffffffffff
                          ffffffff8134b6c6 0000000000000010
                          0000000000010096 ffff88003d86be18
                          0000000000000018 00007fc165c0b700
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
		:
		:

It is hardly to get some useful information. The patch is to make it
human readable. And the output changes to:

		:
		:
Elf64_Nhdr:
                n_namesz: 5 ("CORE")
                n_descsz: 336
                  n_type: 1 (NT_PRSTATUS)
                 si.signo: 0, si.code: 0, si.errno: 0, cursig:0
                 sigpend: 0
                 sighold: 0
                 pid: 5149, ppid: 0, pgrp: 0, sid:0
                 utime: 0.000000, stime: 0.000000, cutime: 0.000000, cstime: 0.000000
                 ORIG_RAX: -1, fpvalid: 0
                 R15    : 0x0000000000000004     R14     : 0x0000000000000286
                 R13    : 0xffffffff81b01a40     R12     : 0x0000000000000000
                 RBP    : 0xffff88003d86be18     RBX     : 0x0000000000000063
                 R11    : 0x0000000000000000     R10     : 0x0000000000000001
                 R9     : 0xffffffff81645da0     R8      : 0x0000000000000000
                 RAX    : 0x0000000000000010     RCX     : 0x0000000000000000
                 RDX    : 0x0000000000000000     RSI     : 0x0000000000000000
                 RDI    : 0x0000000000000063     RIP     : 0xffffffff8134b6c6
                 RFLAGS : 0x0000000000010096     RSP     : 0xffff88003d86be18
                 FS_BASE: 0x00007fc165c0b700     GS_BASE : 0x0000000000000000
                 CS: 0x0010 SS: 0x0018 DS: 0x0000 ES: 0x0000 FS: 0x0000 GS: 0x0000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          000000000000141d 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000004 0000000000000286
                          ffffffff81b01a40 0000000000000000
                          ffff88003d86be18 0000000000000063
                          0000000000000000 0000000000000001
                          ffffffff81645da0 0000000000000000
                          0000000000000010 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000063 ffffffffffffffff
                          ffffffff8134b6c6 0000000000000010
                          0000000000010096 ffff88003d86be18
                          0000000000000018 00007fc165c0b700
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
                          0000000000000000 0000000000000000
		:
		:

The patches support elf64, elf32, qemu64, qemu32 core format.

The kdump format didn't show the note information originally when help -D.
The patches add it.

the original output:
		:
		:
   sub_header_kdump: 222aff0
            phys_base: 0
           dump_level: 0 (0x0)
                split: 0
            start_pfn: (unused)
              end_pfn: (unused)
    offset_vmcoreinfo: 4556 (0x11cc)
      size_vmcoreinfo: 1440 (0x5a0)
                       OSRELEASE=2.6.32-431.el6.x86_64
                       PAGESIZE=4096
                       SYMBOL(init_uts_ns)=ffffffff81a8e940
                       SYMBOL(node_online_map)=ffffffff81c08f40
      		:
		:
                       LENGTH(node_data)=512
                       CRASHTIME=1417488164
          offset_note: 4176 (0x1050)
            size_note: 1820 (0x71c)
   num_prstatus_notes: 1
            notes_buf: 224c020
             notes[0]: 224c020
   NT_PRSTATUS_offset: 1050
     offset_eraseinfo: 0 (0x0)
       size_eraseinfo: 0 (0x0)
		:
		:


the changed output:
		:
		:
   sub_header_kdump: 2c75ff0
            phys_base: 0
           dump_level: 0 (0x0)
                split: 0
            start_pfn: (unused)
              end_pfn: (unused)
    offset_vmcoreinfo: 4556 (0x11cc)
      size_vmcoreinfo: 1440 (0x5a0)
                       OSRELEASE=2.6.32-431.el6.x86_64
                       PAGESIZE=4096
                       SYMBOL(init_uts_ns)=ffffffff81a8e940
                       SYMBOL(node_online_map)=ffffffff81c08f40
		:
		:
                       LENGTH(node_data)=512
                       CRASHTIME=1417488164
          offset_note: 4176 (0x1050)
            size_note: 1820 (0x71c)
   num_prstatus_notes: 1
            notes_buf: 2c97020
             notes[0]: 2c97020
                 si.signo: 0, si.code: 0, si.errno: 0, cursig:0
                 sigpend: 0
                 sighold: 0
                 pid: 5149, ppid: 0, pgrp: 0, sid:0
                 utime: 0.000000, stime: 0.000000, cutime: 0.000000, cstime: 0.000000
                 ORIG_RAX: -1, fpvalid: 0
                 R15    : 0x0000000000000004     R14     : 0x0000000000000286
                 R13    : 0xffffffff81b01a40     R12     : 0x0000000000000000
                 RBP    : 0xffff88003d86be18     RBX     : 0x0000000000000063
                 R11    : 0x0000000000000000     R10     : 0x0000000000000001
                 R9     : 0xffffffff81645da0     R8      : 0x0000000000000000
                 RAX    : 0x0000000000000010     RCX     : 0x0000000000000000
                 RDX    : 0x0000000000000000     RSI     : 0x0000000000000000
                 RDI    : 0x0000000000000063     RIP     : 0xffffffff8134b6c6
                 RFLAGS : 0x0000000000010096     RSP     : 0xffff88003d86be18
                 FS_BASE: 0x00007fc165c0b700     GS_BASE : 0x0000000000000000
                 CS: 0x0010 SS: 0x0018 DS: 0x0000 ES: 0x0000 FS: 0x0000 GS: 0x0000
   NT_PRSTATUS_offset: 1050
     offset_eraseinfo: 0 (0x0)
       size_eraseinfo: 0 (0x0)
		:
		:


-- 
Thanks
Zhou Wenjian
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-Make-elf64-note-human-readable.patch
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20141210/8c4b3788/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0002-Make-elf32-note-human-readable.patch
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20141210/8c4b3788/attachment-0001.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0003-Show-kdump-note-information-when-help-D.patch
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20141210/8c4b3788/attachment-0002.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0004-Make-qemu64-note-human-readable.patch
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20141210/8c4b3788/attachment-0003.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0005-Make-qemu32-note-human-readable.patch
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20141210/8c4b3788/attachment-0004.ksh>


More information about the Crash-utility mailing list