1

使用 configure --target=m68k-linux --program-prefix=m68k- 交叉编译的 gdb 会产生错误,因为没有核心文件处理程序可以识别该格式。

详细信息:核心文件在m68k设备上生成,日志在i686-pc-linux-gnu GDB版本-7.6上分析

关于这个主题的任何线索?

核心文件的ELf格式为elf -a core
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ ABI:UNIX - System V
ABI 版本:0
类型:CORE(核心文件)
机器:MC68000
版本:0x1
入口点地址:0x0
程序头开始:52(文件中的字节)
节头开始:0(文件中的字节)
标志:0x0
此头的大小:52(字节)
程序头的大小:32(字节)
程序头的数量:10
节头的大小:0(字节)
节的数量标题:0
节标题字符串表索引:0

此文件中没有节。

此文件中没有节组。

程序标题:

  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  NOTE           0x000174 0x00000000 0x00000000 0x00570 0x00000     0
  LOAD           0x002000 0x40000000 0x00000000 0x00000 0x16000 R E 0x2000
  LOAD           0x002000 0x40016000 0x00000000 0x04000 0x04000 RW  0x2000
  LOAD           0x006000 0x4001a000 0x00000000 0x132000 0x132000 R E 0x2000
  LOAD           0x138000 0x4014c000 0x00000000 0x08000 0x08000 RW  0x2000
  LOAD           0x140000 0x40154000 0x00000000 0x02000 0x02000 RW  0x2000
  LOAD           0x142000 0x80000000 0x00000000 0x00000 0x02000 R E 0x2000
  LOAD           0x142000 0x80002000 0x00000000 0x02000 0x02000 RW  0x2000
  LOAD           0x144000 0x80004000 0x00000000 0x02000 0x02000 RWE 0x2000
  LOAD           0x146000 0xbfffe000 0x00000000 0x02000 0x02000 RWE 0x2000

此文件中没有动态段。

此文件中没有重定位。

此文件中没有展开部分。

在此文件中找不到版本信息。

偏移量 0x00000174 处的注释,长度为 0x00000570:

  Owner         Data size       Description
  CORE          0x0000009a      NT_PRSTATUS (prstatus structure)
  CORE          0x0000007c      NT_PRPSINFO (prpsinfo structure)
  CORE          0x00000310      NT_TASKSTRUCT (task structure)
  CORE          0x00000078      NT_AUXV (auxiliary vector)
  CORE          0x0000006c      NT_FPREGSET (floating point registers)

ps 使用较旧的 gdb 版本 6.3 我得到一个错误 - GDB 无法读取这台机器上的核心文件。

4

1 回答 1

0

从“NT_TASKSTRUCT”注释的存在来看,这很可能是内核崩溃核心。您可能需要崩溃或类似工具。

于 2018-10-02T23:57:08.253 回答